从PHP中删除字符串中的某些文本

问题描述:

我想修剪PHP中的字符串,以便我只能从字符串中获取某些文本。从PHP中删除字符串中的某些文本

我有一个电子邮件存储到一个字符串例如[email protected]

如何删除'@'后的文本,以便我只'some_name'?

+0

为什么更改标签? – Kushan 2012-02-15 07:31:16

+0

为什么你没有阅读的问题,看到它说“PHP”? – cHao 2012-02-15 07:32:40

+0

@Kushan对不起,我意识到自己在贴出来之后放错了标签。太多的Android和PHP在同一时间。 – DroidMatt 2012-02-15 07:48:08

你可以尝试使用正则表达式和@符号进行分割。这将返回两个字符串,然后您可以使用它们来获取'some_name'。

http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html

+1

这个问题最初是用“java”标记的吗?导致迄今为止几乎没有任何与PHP有关的答案... – cHao 2012-02-15 07:30:48

String s = "[email protected]"; 
String name = s.substring(0,s.indexOf("@"); 
+3

这不是PHP! – 2012-02-15 07:29:38

+0

对不起,这是我的错误。我改变了标签!但这也很有用!谢谢! – DroidMatt 2012-02-15 07:49:37

$str = '[email protected]'; 
$strpos = strpos($str, "@"); 
echo $email = substr($str, 0,$strpos); 

你可以试试这个让字符串之前@

在PHP中,你可以这样做:

$string = '[email protected]'; 
$res = explode('@', $string); 
echo $res[0]; 

或者你可以使用正则表达式,字符串函数php ...等

+1

+1不使用正则表达式 – 2012-02-15 09:04:51

+0

你好,我如何将res转换为字符串? – DroidMatt 2012-02-16 08:10:42

+0

您可以将第一个数组元素分配给一个变量: '$ name = $ res [0]; echo $ name;' – mlinuxgada 2012-02-16 09:20:49

你应该知道,这两个方法可以做到这一点:

substr

$mail = "[email protected]"; 
echo substr($mail, 0, strpos($mail, '@')); 

explode

list($name, $domain) = explode('@', $mail); 
echo $name; 

如果您不需要$域可以跳过它:

list($name) = explode('@', $mail); 

更多关于list

演示:http://ideone.com/lbvQF