如何只替换PHP中的某些特殊字符?

时间:2015-02-22 19:17:26

标签: php

我只需要替换某些特殊字符,其他一切必须保留,所以我不能使用[a-zA-Z0-9]和类似代码来保存,其他一切都应该被替换。

我试过这样的事情:

$textrim = preg_replace("/(_%:\"`´\[\]\.\(\)\'!\?\.,#‘\<\>-—~\*)/", "", $title);

但它不起作用,我在网上找不到任何东西,我可以改变我的需求。

3 个答案:

答案 0 :(得分:5)

你不需要正则表达式。

http://php.net/str_replace

见第二个例子

// Provides: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");

答案 1 :(得分:1)

您还可以创建包含要替换的字符的字符类:

像这样的东西

$out = preg_replace("/[_%:\"`´\[\]()'!?.,#‘<>—~*$-]/", "", $title);

也应该有用。

答案 2 :(得分:0)

好吧,在我问完后,我才弄明白。

$textrim = preg_replace('/(_|%|:|"|`|´|\[|\]|\.|\(|\)|\'|!|\?|\.|,|#|‘|\<|\>|-|—|~|\*|\$)/', '', $title);