我有一个字符串,我需要在文本之间获取文本
方案
MyCar extends Vehicle
从上面的字符串我需要得到
SELECT * FROM EMP WHERE EMPID > 0
上面的函数有效,如果我给$ InputString,$ StartStr和$ EndStr,但如果我没有传递$ EndStr它不能正常工作
array([0]=>'*',[1]=>'EMP')
function BetweenStr($InputString, $StartStr, $EndStr=0, $StartLoc=0)
{
if (($StartLoc = strpos($InputString, $StartStr, $StartLoc)) === false) { return; }
$StartLoc += strlen($StartStr);
if (!$EndStr) { $EndStr = $StartStr; }
if (!$EndLoc = strpos($InputString, $EndStr, $StartLoc)) { return; }
return substr($InputString, $StartLoc, ($EndLoc-$StartLoc));
}
答案 0 :(得分:1)
var re = /\<a .*?href=("|')(.+?)('|") .+?\<\/a>/g
答案 1 :(得分:0)
如果你想按照自己的方式去做,那就应该这样做:
function BetweenStr($InputString, $StartStr, $EndStr=0, $StartLoc=0)
{
if (($StartLoc = strpos($InputString, $StartStr, $StartLoc)) === false) { return; }
$StartLoc += strlen($StartStr);
if (!$EndStr) { $EndLoc = strlen($InputString); }
if (!$EndLoc = strpos($InputString, $EndStr, $StartLoc)) { return; }
return substr($InputString, $StartLoc, ($EndLoc-$StartLoc));
}