Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何替换所有特殊字符,但保留重音_Php_Regex_Preg Replace_Non Ascii Characters - Fatal编程技术网

Php 如何替换所有特殊字符,但保留重音

Php 如何替换所有特殊字符,但保留重音,php,regex,preg-replace,non-ascii-characters,Php,Regex,Preg Replace,Non Ascii Characters,我想更改字符串中的所有特殊字符,但我想保留所有重音字符。是否可以使用preg\u replace() 我当前的代码: preg_replace('/[^A-Za-z0-9\-]/', '', $string); 试试Unicode: preg_replace('/[^\p{L}0-9\-]/u', '', $string); \p{L}是一种匹配任何语言中所有字母的语言,嘿,stema!谢谢你的回复!干得好!如果我不想替换&和单引号,我该怎么做呢?PHP文档似乎更准确地回答了这个问题:谢谢

我想更改字符串中的所有特殊字符,但我想保留所有重音字符。是否可以使用
preg\u replace()

我当前的代码:

preg_replace('/[^A-Za-z0-9\-]/', '', $string); 
试试Unicode:

preg_replace('/[^\p{L}0-9\-]/u', '', $string);

\p{L}
是一种匹配任何语言中所有字母的语言,

嘿,stema!谢谢你的回复!干得好!如果我不想替换&和单引号,我该怎么做呢?PHP文档似乎更准确地回答了这个问题:谢谢大家的帮助@伊格纳西奥拉戈,谢谢你的链接,把它添加到answer@Dimi,只需在否定字符类中添加其他字符,例如,
[/[^\p{L}0-9&\-]/]
Hello Riskesh,此主题与您的主题不同。:)@投票人:上面提供的副本不正确。