0
我正在解析电子邮件主题以获取特定信息。 下面的函数将返回2个字符串之间存在的任何字符串。在2个字符串之间查找字符串
<?php
function find_string_between_characters($haystack, $starter, $ender) {
if(empty($haystack)) return '';
$il = strpos($haystack,$starter,0)+strlen($starter);
$ir = strpos($haystack,$ender,$il);
return substr($haystack,$il,($ir-$il));
}
$string = 'Re: [Ticket #6588] Site security update';
$begin = '[Ticket #';
$end = ']';
echo find_string_between_characters($string, $begin, $end); // result: 6588
?>
,导致: 这正是我想要的,当然。 我几乎没有注意到,如果我改变的变量是这样的:
<?php
$string = 'New Ticket Email Submitted';
$begin = '[Ticket #';
$end = ']';
echo find_string_between_characters($string, $begin, $end); // result: t Email
?>
,导致:牛逼电子邮件
如何调整功能看里面两个字符的精确序列$ begin和$ end变量?
一个简单的preg_match()将是容易 –
是图案是恒定的,即[券#6588]? –
是的,幸运的是很稳定。 – coffeemonitor