忽略preg_replace的第二个实例

时间:2016-10-18 02:31:20

标签: php regex web-scraping preg-replace

我正在进行网络搜索,以生成随机数据。

随机数据格式的字符串为RestaurantJimmys Outdoor Grill

我有preg_replace删除餐馆并保留标题。

但是,当名称为RestaurantSmith Family Restaurant时,它会变为Smith Family

保留第二个实例的最佳解决方案是什么?

代码:

preg_replace('/Restaurant/', '', $restaurantName);

提前致谢!

3 个答案:

答案 0 :(得分:2)

试试这个,看看是否有帮助:

 <?php
 echo preg_replace('/Restaurant/u', '', "RestaurantSmith Family  Restaurant", 1);
 ?>

实际上,

  • u代表UTF-8文字。

答案 1 :(得分:2)

我尝试了两种方法:

$str = "RestaurantSmith Family Restaurant";

echo preg_replace("/Restaurant(\w+)/", "$1", $str);

echo preg_replace("/Restaurant\B/", "", $str);

答案 2 :(得分:0)

或者你可以这样做:

$text = 'RestaurantSmith Family Restaurant';
$pattern = '/^Restaurant/';
$replacement = '';
echo preg_replace($pattern, $replacement, $text);

^用于表示文本的开头。因此,只有第一次出现的餐厅才会被取代。