PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Möchte im PHPBB BBCode Tags schreiben.


semerzo
22.08.2003, 10:03:26
Hallo Leute,
Ich habe mir den Quelltext an der entsprechenden Stelle angesehen und dabei ein leichtes Verständnisproblem:
Hier der Code:

1 $patterns = array();

2 $replacements = array();

3 $patterns[] = "#([a-z0-9]+?://){1}([w-]+.([w-]+.)*[w]+(:[0-9]+)?(/[^ "nrt<]*)?)#is";

4 $replacements[] = $this->bbcode_tpl['url1'];


Hier die Frage: Mein Problem habe ich in Zeile 3, ich verstehe ehrlich gesagt alles hinter dem Gleichzeichen nicht. Ein Verweis zu einer Doku oder was auch immer ich dazu lesen muss, wäre recht hilfreich.

MiH
22.08.2003, 10:33:46
es wird nach einer gültigen URL gesucht, per regulären ausdruck.
in zeile 4 wird dann aus dem array bbcode der entsprechende verweis benutzt und ersetzt.

semerzo
22.08.2003, 11:13:53
Danke, damit konnte ich Google füttern. Habe ein ganz gutes Tut gefunden. Wer sich sonst noch dafür interessiert:
http://tut.php-q.net/regex.html

flobee
25.12.2003, 21:11:17
hallo!

habe mir diese link gerade duchgelesen und es wohl noch nicht verstanden! http://tut.php-q.net/regex.html

ich möchte eine zeichen kette nur dann modifizieren (alle anderen zeichen auschliessen) wenn sie nicht diesem ausdruck entspricht:

$filename = 'datei.ext';
$needle = "/^([a-z0-9])+([a-z0-9_.-])*.+[a-z0-9_]{1,3}$/i";
$replacement = "_";

if( !preg_match($needle,$filename) )
$newfilename = preg_replace('/W._-/', $replacement, $filename );
Wir können aber auch ganz anders daran gehen und nicht sagen, was er nicht matchen soll, sondern sagen ihm, was er matchen darf, um etwas mehr Kontrolle zu haben. Der fragliche Regex-Teil könnte dann so aussehen.

([w$-.+!*'()@:?=&/;]*)

aber es läuft nicht so ganz wie ich mir das denke mit der "umkehrung"
kann mir jemand helfen?

gruß flobee