kostenloser Webspace werbefrei: lima-city


Filter: was steht zwischen <h>und</h>

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    Hallo LC,
    Ich habe eine Variabe:
    $test = "fgdfgfdgfdgfdg<h>Hi</h>fsdfgdgffg";
    aus diser Variabe will ich nur das rausfiltern <h>Hi</h>.
    Wie kann ich das machen?
    Danke Schonmal
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. kochmarkus

    Co-Admin Kostenloser Webspace von kochmarkus

    kochmarkus hat kostenlosen Webspace.

    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/
  4. x*****k

    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.
  5. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    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?
  6. $test = preg_replace("/.*<h>\(.*\)<\/h>.*/","$1",$test);
  7. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    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
  8. 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
  9. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    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
  10. Ja, da steht auch nicht. In $test steht jetzt der Inhalt von h...
  11. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    nikic schrieb: Ja, da steht auch nicht. In $test steht jetzt der Inhalt von h...

    mh OK da steht auch noch hih von ursprünglich hi<h>h</h> es soll aber nun noch h da stehen?!
    Nochmal Danke für die antwort
  12. Achso, versuch mal das:
    $matches = array();
    preg_match("/<h>(.*)<\/h>/Us",$test, $matches);

    In $matches[1] sollte es jetzt stehen.
  13. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    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
  14. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!