使用正则表达式替换句子中的字符串

时间:2019-02-25 18:53:24

标签: php regex

我想制作一个脚本,使用{Hello|Hi|Hey}从不同的句子中查找格式为{([\w|]+)}的字符串,然后使用(?<=[{|])\w+(?=[|}])获取单个单词并随机选择一个单词,然后

我是否必须使用循环来查找每个格式化的字符串,然后将单个单词放入数组中并在数组中计数值,并使用rand函数获取随机值并将其替换为字符串?我必须使用哪些功能?

1 个答案:

答案 0 :(得分:1)

您不需要两次preg_match;

这可能是您要问的:

<?php

$a = '{Hello|Hi|Hey}';

preg_match ( '{([\w|]+)}',$a,$array );

$items = explode("|",  $array[0]);
echo $items[rand(0, count($items) - 1)]  ;