我的字符串是:「reply-234-private」,我想在「reply-」之後和「-private」之前得到數字,它是「234」。我曾嘗試與下面的代碼,但它返回一個空的結果:獲取兩個字符串之間的字符串
$string = 'reply-234-private';
$display = preg_replace('/reply-(.*?)-private/','',$string);
echo $display;
我的字符串是:「reply-234-private」,我想在「reply-」之後和「-private」之前得到數字,它是「234」。我曾嘗試與下面的代碼,但它返回一個空的結果:獲取兩個字符串之間的字符串
$string = 'reply-234-private';
$display = preg_replace('/reply-(.*?)-private/','',$string);
echo $display;
你可以只explode它:
<?php
$string = 'reply-234-private';
$display = explode('-', $string);
var_dump($display);
// prints array(3) { [0]=> string(5) "reply" [1]=> string(3) "234" [2]=> string(7) "private" }
echo $display[1];
// prints 234
或者,使用preg_match
<?php
$string = 'reply-234-private';
if (preg_match('/reply-(.*?)-private/', $string, $display) === 1) {
echo $display[1];
}
謝謝,它的作品! –
這樣的事情:
$myString = 'reply-234-private';
$myStringPartsArray = explode("-", $myString);
$answer = $myStringPartsArray[1];
非常感謝! –
使用PHP的內置正則表達式的支持功能 preg_match_all
這將有助於,假設你想@@之間字符串數組(鍵)在下面的例子中,其中「/」不倒在 - 之間,你可以建立新的例子不同開始的結束變量
function getInbetweenStrings($start, $end, $str){
$matches = array();
$regex = "/$start([a-zA-Z0-9_]*)$end/";
preg_match_all($regex, $str, $matches);
return $matches[1];
}
$str = "C://@@[email protected]@/@@[email protected]@/@@[email protected]@";
$str_arr = getInbetweenStrings('@@', '@@', $str);
print_r($str_arr);
$myString = 'reply-234-private';
echo str_replace('-','',filter_var($myString,FILTER_SANITIZE_NUMBER_INT));
這應該做的工作。
本文向您展示如何獲取兩個標籤或兩個字符串之間的所有字符串。
http://okeschool.com/articles/312/string/how-to-get-of-everything-string-between-two-tag-or-two-strings
<?php
// Create the Function to get the string
function GetStringBetween ($string, $start, $finish) {
$string = " ".$string;
$position = strpos($string, $start);
if ($position == 0) return "";
$position += strlen($start);
$length = strpos($string, $finish, $position) - $position;
return substr($string, $position, $length);
}
?>
的情況下,你的問題,你可以試試這個:
$string1='reply-234-private';
echo GetStringBetween ($string1, "-", "-")
,或者我們可以使用任何「標識字符串」爲搶標識字符串之間的字符串。例如:
echo GetStringBetween ($string1, "reply-", "-private")
如果你想這樣做的JS,試試這個功能 -
function getStringBetween(str , fromStr , toStr){
var fromStrIndex = str.indexOf(fromStr) == -1 ? 0 : str.indexOf(fromStr) + fromStr.length;
var toStrIndex = str.slice(fromStrIndex).indexOf(toStr) == -1 ? str.length-1 : str.slice(fromStrIndex).indexOf(toStr) + fromStrIndex;
var strBtween = str.substring(fromStrIndex,toStrIndex);
return strBtween;
}
以及你使用了preg_replace(),你不想要的preg_match()? – 2013-01-14 03:45:24