我需要从字符串中提取特定的字母或数字。
<div id="craftysyntax_1" style="float: right;"><script type="text/javascript" src="https://livehelp.clipboards.com/livehelp_js.php?eo=0&department=1&serversession=1&pingtimes=10&dynamic=Y&creditline=W"></script></div>
从这个 div id="craftysyntax_1"
我想从这个 craftysyntax_1 中提取 1 的数字,我正在尝试爆炸但它对我不起作用,或者我做错了。
以下是我的尝试:
$myString = '<div id="craftysyntax_1" style="float: right;"><script type="text/javascript" src="https://livehelp.clipboards.com/livehelp_js.php?eo=0&department=1&serversession=1&pingtimes=10&dynamic=Y&creditline=W"></script></div>';
$strArray = explode('craftysyntax_', $myString, 1);
print_r($myString);
我如何实现我的目标?
答案 0 :(得分:1)
preg_match("/craftysyntax_(.*)\\" /", $myString, $output_array);
echo $output_array[1];
祝你好运!
答案 1 :(得分:1)
您可以使用regEx
来完成目标,例如
$myString = '<div id="craftysyntax_123" style="float: right;"><script type="text/javascript" src="https://livehelp.clipboards.com/livehelp_js.php?eo=0&department=1&serversession=1&pingtimes=10&dynamic=Y&creditline=W"></script></div>';
$pttn = '@craftysyntax_(\d{1,})@';
preg_match( $pttn, $myString, $matches );
echo '<pre>',print_r($matches,1),'</pre>';
这将输出:
Array
(
[0] => craftysyntax_123
[1] => 123
)
因此您可以使用$matches[1]
答案 2 :(得分:1)
我想从 craftysyntax_1
中提取数字1
使用preg_match
功能:
$myString = '<div id="craftysyntax_1" style="float: right;"><script type="text/javascript" src="https://livehelp.clipboards.com/livehelp_js.php?eo=0&department=1&serversession=1&pingtimes=10&dynamic=Y&creditline=W"></script></div>';
preg_match("/id=[\"']craftysyntax_(\d+)[\"']/", $myString, $matches);
$craft_number = $matches[1];
print_r($craft_number); // 1
答案 3 :(得分:1)
使用preg_match:
试试这个"SELECT create_time FROM ".SQL_HP_DB.".account WHERE id=".$_SESSION['user_id'];
答案 4 :(得分:0)
你真的是shouldn't use regex to try and parse HTML。
另一种解决方案,使用DOMDocument
提取您想要的ID:
$str = '<div id="craftysyntax_1" style="float: right;"><script type="text/javascript" src="https://livehelp.clipboards.com/livehelp_js.php?eo=0&department=1&serversession=1&pingtimes=10&dynamic=Y&creditline=W"></script></div>';
$dom = new DOMDocument;
$dom->loadHTML($str);
$src = $dom->getElementsByTagName('div')->item(0);
$attr = $src->attributes->getNamedItem('id')->value;
这将为您提供值craftysyntax_1
。现在,您可以轻松地抓取 last 下划线后的所有内容(如果存在):
if (($pos = strrpos($attr, '_')) !== false) {
echo substr($attr, $pos + 1);
}