繁体   English   中英

如何从PHP中的字符串中删除特定的特殊字符?

[英]How to remove particular special characters alone from a string in PHP?

我有一个像下面的字符串,

印度时报,2009年10月,着名艺术评论家在2009年9月23日至29日在贾瓦尔,贾瓦哈尔卡拉肯德拉斯举办的个人展览评论。“她的许多画作包括她的自画像,强调人文奇异的困境和漫无目的”

在上面的字符串中,我需要删除以下字符

, " ' - .

我可以使用任何字符串函数来删除这些字符吗?

您可以使用str_replace替换字符数组

$str = "Hindustan Times, Oct 2009, Review by a well known Art critic on her solo exhibition at Jaipur, Jawahar Kala Kendra'th, 23-29th Sep 2009. \"Many of her paintings including her self portrait, stress in humanities singular plight and aimlessness";
$search     = array(',', '"', "'", '-', '.');
$clean      = str_replace($search, ' ', $str); 
echo $clean; 

或者,您可以选择删除所有不是字母数字或空格的字符,而不是列出您不想要的所有字符:

preg_replace("/[^A-Za-z0-9\s]/", "", $str);

当然,这会删除所有标点符号,也许会删除比你想要的更多的字符。

使用preg_replace,并用空字符串替换所需的集合。

JohnP使用str_replace()有正确的方法 经验法则基本上只使用正则表达式,其他字符串方法不会(或至少不是很好)。

但是,如果你想使用正则表达式,你也可以这样做。

您可以在字符类中输入这些字符,注意要转义字符串分隔符并使用-以一种字面方式,而不是范围。

preg_replace('/[,"\'.-]+/', '', $str);

Ideone

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM