我在段落中有这个字符串:
今天的报价是:'从昨天开始学习,为今天而活,希望明天。重要的是不要停止提问。'
我需要提取这句话“从昨天开始学习,为今天而活,为明天做好准备。重要的是不要停止提问。”
我不熟悉正则表达式,所以我想在这里提一点帮助。 我试过了:
preg_match("Today's quote is: '[a-zA-Z0-9]'",$response, $matches);
当然,因为我想象它不起作用。任何帮助,将不胜感激。提前谢谢。
编辑: 此外,我需要在字母数字表达式中包含“_”和“ - ”。
示例:
$string = "site : '6LcZwNcSAAAAAEcQkyCCSteouAQS9jO7wDrgzvbL', rtl : false, challenge : '03AHJ_Vuv_3y7kY-GQaCyzgrz9ZTv_cFQN_F0jEqOGNq0-3QANrsxJ18oPj4bbhRqPoISIZbqBBdeEXVfpnnVjlTsjoxQugI4j0zB1yRQU1m4wXzFGVRpuRyXJmnJU3d7Ix0nhyO_OBeFCR7v9gXtz_BNN04tSzXxVyvKCExO9I2vcqcIhWJQE8K8'";
我需要在“挑战”一词之后匹配字符串。包含下划线和“ - ”。
答案 0 :(得分:2)
这应该做的工作:
$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);