如何使用单个字符 PHP 通配符进行字符串替换


How do you use a single character PHP Wildcard to make a String Replacement?

如何使用单个字符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代码来做到这一点,从而避免使用循环语句。

提前谢谢。

则表达式或正则表达式应该可以很好地解决问题。

preg_replace('( alt="image [0-9]+"></a>)', '>', $text);
  • 在 RegEx 中,字符组的构造[]意味着组中指定的任何字符都可以作为通配符进行匹配。
  • 在组中使用破折号-意味着字符组的范围从 az在我们的例子中0-9 .
  • 在字符组末尾使用星号*意味着该组可以重复 0 次或多次,从而允许我们定义由多个数字组成的数字。
  • 使用加号而不是星号意味着该组可以重复 1 次或更多次(这可能更适合这里,因为您要匹配数字而不是空插槽)。