删除特殊字符后的所有内容
问题描述:
我是新来的正则表达式,我认为这是我最好的解决方案。我试图找到一个特殊字符被发现后删除所有文本。删除特殊字符后的所有内容
目前我正与
preg_replace('/[^a-zA-Z0-9_ %\[\]\.\(\)%&-]/s', '', $word);
打不过你可能知道,只有第一个特殊字符后发现删除所有的特别包机,不是万能的。
答
如果你想删除的每一个字符从a-zA-Z0-9_ %[].()%&-
不同的第一个字符开始,你可以使用以下命令:
preg_replace('/[^a-zA-Z0-9_ %\[\]\.\(\)%&-].*/s', '', $word);
相反,如果你想找到从a-zA-Z0-9_ %[].()%&-
一个字符后,除去每一件事情,您可以使用以下命令:
preg_replace('/[a-zA-Z0-9_ %\[\]\.\(\)%&-].*/s', '', $word);
答
你可以把它周围,并使用preg_match
:
preg_match('/^[a-zA-Z0-9_ %\[\]\.\(\)%&-]/s', $word, $matches);
$matches[0]
将包含您正在查找的值。
答
你可以简单地做
$word = "Overflow's";
preg_match('/[a-zA-Z0-9_]+/', $word, $matches);
print_r($matches);
将返回:
Array
(
[0] => Overflow
)
每个角色都有自己的特色。 – 2012-04-24 16:55:17
'a-zA-Z0-9_%[]。()%& - '特殊字符?或者它与它们有什么不同? – sch 2012-04-24 17:08:22