为什么preg_replace从字符串中删除+号?我想加上符号

时间:2018-07-17 11:56:13

标签: php regex preg-replace

字符串:Two + Two & One + One ?

如何添加+符号。我不想同时将+替换为&的{​​{1}}符号。我曾经关注

-

它给出结果:$string = preg_replace('/&#?[\+\sA-Za-z0-9]+;/i', '-', $string);

必填结果:Two Two - One One ?

注意::您可以建议任何preg_replace,使其包含+号并用-替换&。我在WordPress网站上。

对于stackoverflow上的问题,我没有找到任何答案。每个人都在谈论删除Two + Two - One + One ?符号。但我希望它包含在内。

2 个答案:

答案 0 :(得分:1)

使用正则表达式,这是您需要的:

<?php

$regex = '#\&(amp;)?#';
echo preg_replace($regex, '-', 'Two + Two & One + One ?') . "\n";
echo preg_replace($regex, '-', 'Two + Two &amp; One + One ?') . "\n";

输出:

Two + Two - One + One ? 
Two + Two - One + One ?

您可以在这里看到https://3v4l.org/s1tVW

https://regex101.com/r/G7CbKF/1

处使用正则表达式

答案 1 :(得分:0)

使用这个

$ string = preg_replace('/&/ i','-',$ string);