忽略 preg_replace 的第二个实例
Ignoring second instance of preg_replace
我正在做一个生成随机数据的网络抓取。
随机数据格式的字符串是RestaurantJimmys Outdoor Grill
我有一个preg_replace
删除餐厅并保留标题。
但是,当名称为 RestaurantSmith Family Restaurant
时,它会变成 Smith Family
保留二审的最佳解决方案是什么?
代码:
preg_replace('/Restaurant/', '', $restaurantName);
提前致谢!
试试这个,看看是否有帮助:
<?php
echo preg_replace('/Restaurant/u', '', "RestaurantSmith Family Restaurant", 1);
?>
实际上,
u
用于 UTF-8 文本。
我已经尝试了两种有效的方法:
$str = "RestaurantSmith Family Restaurant";
echo preg_replace("/Restaurant(\w+)/", "", $str);
和:
echo preg_replace("/Restaurant\B/", "", $str);
或者你可以这样做:
$text = 'RestaurantSmith Family Restaurant';
$pattern = '/^Restaurant/';
$replacement = '';
echo preg_replace($pattern, $replacement, $text);
^
用于表示正文的开始。所以只有第一次出现的 Restaurant 将被替换。
我正在做一个生成随机数据的网络抓取。
随机数据格式的字符串是RestaurantJimmys Outdoor Grill
我有一个preg_replace
删除餐厅并保留标题。
但是,当名称为 RestaurantSmith Family Restaurant
时,它会变成 Smith Family
保留二审的最佳解决方案是什么?
代码:
preg_replace('/Restaurant/', '', $restaurantName);
提前致谢!
试试这个,看看是否有帮助:
<?php
echo preg_replace('/Restaurant/u', '', "RestaurantSmith Family Restaurant", 1);
?>
实际上,
u
用于 UTF-8 文本。
我已经尝试了两种有效的方法:
$str = "RestaurantSmith Family Restaurant";
echo preg_replace("/Restaurant(\w+)/", "", $str);
和:
echo preg_replace("/Restaurant\B/", "", $str);
或者你可以这样做:
$text = 'RestaurantSmith Family Restaurant';
$pattern = '/^Restaurant/';
$replacement = '';
echo preg_replace($pattern, $replacement, $text);
^
用于表示正文的开始。所以只有第一次出现的 Restaurant 将被替换。