我的php页面上有一个很大的字符串。
我需要找到这个大字符串的一小部分。
例如,大字符串如下所示:
Lorem Ipsum只是印刷和排版的虚拟文本 行业。 Lorem Ipsum一直是业界标准的伪文本 从1500年代开始,当一个未知的打印机拿起一个 将其打乱制成类型样本_文件编号:4575-NIA- 000本书。它不仅生存了五个世纪,而且还幸免于难 进行电子排版,基本上保持不变。它是 1960年代随着发行日期的普及而流行:2016年3月4日 包含Lorem Ipsum段落的Letraset床单 使用Aldus PageMaker等桌面发布软件,包括 Lorem Ipsum的版本。
因此,我需要在我的php页面中找到并显示的是Document Number : 4575 - NIA - 000
和Date: 2016 - 03 - 04
。
我尝试过这样的事情:
$date = substr($result, 0, strpos($result, 'Date:'));
echo $date;
但这不会在我的php页面上产生所需的输出。
如何解决此问题?
答案 0 :(得分:2)
您可以使用正则表达式。
此模式将找到您所需的内容。
由于它是一个很长的正则表达式,因此我将不做详细解释,但是您可以轻松找到有关正则表达式工作方式的信息。
preg_match_all("/Document\s+Number\s*:\s*(.*?\s*-.*?\s*-\s*.*?)\s|Date\s*:\s*(\d{4}\s*-\s*\d{2}\s*-\s*\d{2})/i", $str, $matches);
但是简而言之,它将查找模式并捕获字符串的所需部分。
\s*
或\s+
是空格,可以是可选(*)或要求,但可以无限制(+)。
\d
是数字。 \d+
将是任意长度的数字。 \d{4}
是四位数。
.*
是任何长度。