Filter: was steht zwischen <h>und</h>
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
antwort
array
ausdruck
aussehen
befehl
code
dank
frage
http
inhalt
manual
match
problem
stehen
test
testen
url
versuch
webseite
zitat
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
kochmarkus schrieb: Ich weiß zwar jetzt nicht wirklich wie man in PHP mit regulären Ausdrücken umgeht, aber der Ausdruck selbst sollte etwa so aussehen:
s/.*<h>\(.*\)<\/h>.*/\1/
Und diesen Ausdruck verbindest du mit dem Befehl http://www.php.net/manual/de/function.preg-match.php und schon hast dus. -
x-black schrieb:
kochmarkus schrieb: Ich weiß zwar jetzt nicht wirklich wie man in PHP mit regulären Ausdrücken umgeht, aber der Ausdruck selbst sollte etwa so aussehen:
s/.*<h>\(.*\)<\/h>.*/\1/
Und diesen Ausdruck verbindest du mit dem Befehl http://www.php.net/manual/de/function.preg-match.php und schon hast dus.
$test = preg_replace("s/.*<h>\(.*\)<\/h>.*/\1","",$test);
so oder wie? -
$test = preg_replace("/.*<h>\(.*\)<\/h>.*/","$1",$test);
-
nikic schrieb:
$test = preg_replace("/.*<h>\(.*\)<\/h>.*/","$1",$test);
Wofür steht $1? bzw. was ist in ihr gespeichert?
ABER DANKE SCHONMAL
Beitrag zuletzt geändert: 3.1.2010 18:39:07 von nikic -
Upps, ich hab da den vorherigen Regexp einfach übernommen und ihn an PHP angepasst. So sollts richtig sein:
$test = preg_replace("/<h>(.*)<\/h>/Us","$1", $test);
In $1 steht jetzt alles zwischen <h> und </h>.
Us, steht für Ungreedy und matchen von New Lines mit .
Beitrag zuletzt geändert: 3.1.2010 18:45:28 von nikic -
nikic schrieb: Upps, ich hab da den vorherigen Regexp einfach übernommen und ihn an HP angepasst. So sollts richtig sein:
$test = preg_replace("/<h>(.*)<\/h>/Us","$1", $test);
In $1 steht jetzt alles zwischen <h> und </h>.
Mh ich wollte es mal testen:
<? $test = "hi<h>h</h>"; $test = preg_replace("/<h>(.*)<\/h>/Us","$1", $test); echo"$test <br> und<br>$1"; ?>
Aber auf der webseite steht dann:
(.*)<\/h>/Us","$d", $test); echo"$test
und
$d"; ?>
was ist das problem?
LG
PS:SRY für die vielen fragen...
Edit: Lag am Xammp^^
aber in $1 steht nix drinne!
Beitrag zuletzt geändert: 3.1.2010 19:03:20 von christian1603 -
Ja, da steht auch nicht. In $test steht jetzt der Inhalt von h...
-
Achso, versuch mal das:
$matches = array(); preg_match("/<h>(.*)<\/h>/Us",$test, $matches);
In $matches[1] sollte es jetzt stehen. -
nikic schrieb: Achso, versuch mal das:
$matches = array(); preg_match("/<h>(.*)<\/h>/Us",$test, $matches);
In $matches[1] sollte es jetzt stehen.
COOOOOL DANKE FÜR DEINE HILFE!
Letzendlich brauche ich das für mein Forum. Ich will eine Zitat funktion wie bei LC machen.
<? $test = "bla bla bla<Zitat>Zitat1</Zitat> bla bla bla<Zitat>Zitat12</Zitat>bla bla bla"; $matches = array(); preg_match("/<Zitat>(.*)<\/Zitat>/Us",$test, $matches); echo" $matches[1]"; ?>
das Problem ist wenn mehrere Zitate eingebaut werden wird logischerweise nur das erste ausgegeben.
also "Zitat1" wie kann ich alle ausgeben also "Zitat1" "Zitat2" usw?
DANKE SCHON MAL
Beitrag zuletzt geändert: 3.1.2010 20:11:58 von christian1603 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage