2012-03-24 22 views
-4

ersetzt Ich will den besten regulären Ausdruck zu wissen, diese Zeichenfolge mit dem vid_id drin in diesem Code istmit regulärem Ausdruck für Preg

Wert = " vid_id

$code = '&lt;object width=&quot;420&quot; height=&quot;345&quot;&gt;<br /> 
    &lt;param name=&quot;movie&quot; value=&quot;http://www.badoobook.com/clips/swf/player.swf&quot;&gt;&lt;/param&gt;<br /> 
    &lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;flashvars&quot; value=&quot;vid_id=100226&amp;MainURL=http%3A%2F%2Fwww.bado obook.com%2Fclips&amp;em=1&quot;&gt;<br /> 
    &lt;embed src=&quot;http://www.badoobook.com/clips/swf/player.swf&quot; flashvars=&quot;vid_id=100226&amp;MainURL=http%3A%2F%2Fwww. badoobook.com%2Fclips&amp;em=1&quot; type=&quot;application/x-shockwave-flash&quot; allowScriptAccess=&quot;always&quot; width=&quot;420&quot; height=&quot;345&quot; allowFullScreen=&quot;true&quot;&gt;&lt;/embed&gt;&lt;/object&gt;' 
$regular = ''; 
$code = preg_replace($regular ,'$1' , $code); 
echo $code; 

die vid-ID ersetzen = &amp;

dank für die Unterstützung

+0

Und du hast was versucht? – piotrekkr

+0

das große Problem, das ich gegenüberstelle, ist die < ich denke, es gibt einige spezielle Dinge in regulat Ausdruck, um es zu lesen, und ich weiß es nicht –

Antwort

1

Sie eine Regex wie diese verwenden:

(?<=vid_id=)\d+ 

Dieser verwendet eine positive lookbehind eine beliebige Anzahl von Ziffern zu entsprechen, die durch die wörtliche Zeichensatz vorangestellt werden „vid_id =“

Hier ist sie wieder mit RegexBuddy Kommentare:

@" 
(?<=   # Assert that the regex below can be matched, with the match ending at this position (positive lookbehind) 
    vid_id=  # Match the characters “vid_id=” literally 
) 
\d   # Match a single digit 0..9 
    +    # Between one and unlimited times, as many times as possible, giving back as needed (greedy) 
" 

Sie haben Ihre Frage sowohl mit php als auch mit asp.net markiert, daher bin ich mir nicht sicher, welche Implementierung Sie anstreben. Hier ist beides:

Asp.Net (C#)

Regex.Replace(@"...uot;vid_id=100226&amp;...", @"(?<=vid_id=)\d+", "[Your value here]") 

php

echo preg_replace("(?<=vid_id=)\d+", "[Your value here]", "...uot;vid_id=100226&amp;..."); 
2

Verwendung dieser reguläre Ausdruck:

vid_id=(\d+) 
+0

das wird mir die ID geben, aber die Sache, die ich will, ist den gesamten Code zu ersetzen mit dem nember –

Verwandte Themen