我想摆脱PHP变量的一部分(如果它存在)。但困难在于这部分包含一个动态元素(数字),它们总是不同的。而剩下的部分在文字中的长度并不总是一样。
$ string ="这是一个例子10(+)t / m 16人&#34 ;;
$ string ="这也是一个例子12(+)t / m 44人&#34 ;;
$ string ="这是最后的例子&#34 ;;
期望的结果应该是:
$ string ="这是示例一&#34 ;;
$ string ="这也是一个例子&#34 ;;
$ string ="这是最后的例子&#34 ;;
所以它需要过滤掉" *(+)t / m * person"我需要做很多这样的事情,因此需要一个紧凑而清晰的解决方案。
答案 0 :(得分:2)
$words = preg_replace('/\d+/', '', $words );
这将删除所有数字而不是剩下的所有数字
$str = '(+) t/m person ';
$new= preg_replace("~[^a-z0-9:]~i", "", $str);
echo '<pre>'.$new.'</pre>';
看看here
答案 1 :(得分:0)
如果你要做的就是从另一个字符串中删除一个字符串,最简单的方法就是使用str_replace -
http://php.net/manual/en/function.str-replace.php
以这种方式:
str_replace(“*(+)t / m * person”,“”,$ string)
但这依赖于你知道代替星星的数字。
适用于任何问题的更通用的解决方案可以使用另一个内置函数 -