我想删除PHP代码中段落中的几个问号。
例如:
$str = " Hi ?How? are you? Hope you are good. ";
输出应为:
$str = " Hi How are you? Hope you are good. ";
所以段落中有开头和结尾字的单词“?” (问号),然后应删除两个问号。请建议。请提出实现这一目标的最佳方法。
答案 0 :(得分:0)
试试这个:
$str = " Hi ?How? are you? Hope you are good. ";
$newstr = preg_replace('/\?([a-z0-9]{1,}?)\?/si','$1',$str);
echo $newstr;
答案 1 :(得分:0)
尝试以下方法:
$str = preg_replace('/\\?(\\w+)\\?','$1',$str);
这将匹配?
包围的任何“单词”。 \w
匹配“任何单词字符(字母,数字,下划线)”。 +
表示“一个或多个”。如果您还想匹配??
并将其删除,则可以将其替换为*
。
答案 2 :(得分:0)
$string = " Hi ?How? are you? Hope you are good. ";
$pattern = "/\?(\w+)\?/";
$replacement = '${1}';
echo preg_replace($pattern, $replacement, $string);
答案 3 :(得分:0)
$str = " Hi ?How? are you? Hope you are good. ";
echo preg_replace("/\?(\w+)\?/", "$1", $str);
答案 4 :(得分:0)
最简单的正则表达式是\?([^\?\s]+)\?
,然后你的单词就在第一组。你可能不得不像php那样逃避它。