我把这个字符串放在一个段落中:
今天的格言是:吸取昨天的教训,活在今天,憧憬明天。重要的是不要停止质疑。我需要摘录这句话"吸取昨天,活在今天,希望明天。"重要的是不要停止质疑。"
我不熟悉正则表达式,所以我希望这里有一点帮助。我试着:
preg_match("Today's quote is: '[a-zA-Z0-9]'",$response, $matches);
当然,正如我想象的那样,它不起作用。任何帮助都会很感激。提前谢谢。
编辑:我还需要在字母数字表达式中包含"_"one_answers"-"。
的例子:
$string = "site : '6LcZwNcSAAAAAEcQkyCCSteouAQS9jO7wDrgzvbL', rtl : false, challenge : '03AHJ_Vuv_3y7kY-GQaCyzgrz9ZTv_cFQN_F0jEqOGNq0-3QANrsxJ18oPj4bbhRqPoISIZbqBBdeEXVfpnnVjlTsjoxQugI4j0zB1yRQU1m4wXzFGVRpuRyXJmnJU3d7Ix0nhyO_OBeFCR7v9gXtz_BNN04tSzXxVyvKCExO9I2vcqcIhWJQE8K8'";
我需要匹配单词"Challenge"之后的字符串。包含下划线和"-"。
这应该可以完成工作:
$string = "Today's quote is: 'Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning.'";
preg_match('/.*?:.*?'(.*?)'/', $string, $m);
echo $m[1]; // Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning.
EDIT2:在OP显示了另一个示例之后。下面是这个编辑的解决方案:
$string = "site : '6LcZwNcSAAAAAEcQkyCCSteouAQS9jO7wDrgzvbL', rtl : false, challenge : '03AHJ_Vuv_3y7kY-GQaCyzgrz9ZTv_cFQN_F0jEqOGNq0-3QANrsxJ18oPj4bbhRqPoISIZbqBBdeEXVfpnnVjlTsjoxQugI4j0zB1yRQU1m4wXzFGVRpuRyXJmnJU3d7Ix0nhyO_OBeFCR7v9gXtz_BNN04tSzXxVyvKCExO9I2vcqcIhWJQE8K8'";
preg_match_all('/.*?:.*?'(.*?)'/', $string, $m);
var_dump($m);