我希望在php中替换除两个字符串之间的文本之外的所有内容 示例:观看Sidney的视频
我想用什么都不取代“观看视频”而只是保留“西德尼”
需要采用这种格式preg_replace(“正则表达式代码”,“替换为”,输入文本)
答案 0 :(得分:1)
您可以使用以下正则表达式执行此操作:
/Watch (\w*)'s video/
您可以使用\1
现场演示here
更新
php中的示例代码:
echo preg_replace('/Watch (\w*)\'s video/', "\\1", 'Watch Sidney\'s video');
<强>输出强>
Sidney
答案 1 :(得分:0)
您可以使用以下explode()
功能:
$returnValue = explode(' ', 'Watch Sidney\'s video');
这将返回一个数组:
array (
0 => 'Watch',
1 => 'Sidney's',
2 => 'video',
)
现在使用&#39;检查数组中的字符串条目,一旦得到它,请将其修剪为:
$myString str_replace("\'s","",$returnValue[some_index]);
答案 2 :(得分:0)
这将给出第一个空格和第一个撇号之间的文本(假设这些标准是不变的):
<?php
$message = "Watch Sidney's video";
$start = strpos($message, " ");
$finish = strpos($message, "'");
echo substr($message, $start, $finish-$start);
答案 3 :(得分:0)
componentDidMount()
答案 4 :(得分:0)
如果你想提取视频作者的名字 - 你可以像这样使用提取preg_match:
$matches = [];
preg_match('@Watch (\w+)\'s video@', $source, $matches);
echo $matches[1];