如何使用单个字符的PHP通配符进行字符串替换?
我需要在以下代码行中替换字符串:
<img src="http://mydomain.com/image-1.jpg" alt="image 1"></a>
<img src="http://mydomain.com/image-2.jpg" alt="image 2"></a>
<img src="http://mydomain.com/image-3.jpg" alt="image 3"></a>
<img src="http://mydomain.com/image-4.jpg" alt="image 4"></a>
我想在以上所有行中替换以下字符串:
alt="image *"></a>
其中*通配符表示一个数字,其中包含以下大于号:
>
为了得到以下结果:
<img src="http://mydomain.com/image-1.jpg">
<img src="http://mydomain.com/image-2.jpg">
<img src="http://mydomain.com/image-3.jpg">
<img src="http://mydomain.com/image-4.jpg">
如果可能,我想使用单行PHP代码来做到这一点,从而避免使用循环语句。
提前致谢。
答案 0 :(得分:3)
正则表达式或RegEx可以很好地完成这项工作。
preg_replace('( alt="image [0-9]+"></a>)', '>', $text);
[]
的构造意味着组中指定的任何字符都可以匹配为通配符。-
表示在我们的案例a
中,字符组从z
跨越0-9
。 *
表示该组可以重复0次或更多次,以便我们定义由多个数字组成的数字。