login  Naam:   Wachtwoord: 
Registreer je!
 Forum

replace (Opgelost)

Offline sir_green - 30/08/2007 20:51 (laatste wijziging 30/08/2007 20:52)
Avatar van sir_greenPHP interesse ik heb een vraag die op het eerste gezicht makkelijk te vinden zou moeten zijn met behulp van google en php.net en alerlei andere tuts, maar ik kom er toch niet helemaal uit :S

ik heb een bericht waar ik het een en ander in wil replacen (of hoe je dat ook noemen wil) als er een tabel begint moet hij het stukje <table vervangen voor </p><table en als hij afsluit </table> vervangen voor </table><p>.

Ik heb al van alles geprobeerd met allerlei reguliere expressions en modifiers maar kom er niet echt uit.

Zou er iemand mij willen helpen?

5 antwoorden

Gesponsorde links
Offline Stijn - 30/08/2007 21:40
Avatar van Stijn PHP expert
  1. $text = 'blbkjlkjm k:f ;<table width=...;> jdfdjmlqkjfqkslmjfmsf </table> jfqmkljfqsdmfj';
  2.  
  3. $text = str_replace( array('<table' , '</table>') , array('</p><table' , '</table><p>') , $text);
  4.  
  5. echo $text;
Blijkbaar is zoeken niet echt je sterkste kant 
Offline Grayen - 30/08/2007 21:43 (laatste wijziging 30/08/2007 21:44)
Avatar van Grayen PHP ver gevorderde Edit: stijn was me voor.

Hiervoor heb je geen reguliere expressies nodig, omdat je in dit geval gewoon een string wilt vervangen voor een andere string. Je kunt voor dit probleem gewoon gebruik maken van str_replace.

Een voorbeeld van hoe je het zou kunnen aanpakken.

  1. <?php
  2. $sCode = <<<code
  3. bla bla bla bla
  4. <table>
  5.   <tr>
  6.   <td>cel</td>
  7.   </tr>
  8. </table>
  9. bla bla bla bla
  10. <table>
  11.   <tr>
  12.   <td>cel</td>
  13.   </tr>
  14. </table>
  15. code;
  16.  
  17. $sCode = str_replace(array('<table', '</table>'), array('</p><table', '</table><p>'), $sCode);
  18.  
  19. echo $sCode;
  20. ?>
Offline sir_green - 30/08/2007 21:54
Avatar van sir_green PHP interesse Neej dan zit er gewoon iets fout in M'n code want hij reageert er gewoon niet op, ik zal m'n complete code er ff op zetten misschien zie jij /jullie wat er fout zit en waarom hij het niet doet.

Er zit trouwens nog iets niet helemaal goed, als ik het stukje ubb omzet van de [fen] tag plaats hij dit helemaal bovenaan ipv op de plaats waar het vandaan komt, misschien dat jullie ook die fout kunnen opsporen. (misschien zorgt dit er ook wel voor dat het vorige niet werkt.

m'n code:
Plaatscode: 6472

en dit is fen.php, de functie die ook wordt aangesproken

Plaatscode: 6473

De stukken waar naar m'n idee de fout inzit heb ik aangegeven met //////////////////////////////

Als iemand me kan helpen heel graag!
Offline ikki007 - 30/08/2007 21:57 (laatste wijziging 30/08/2007 21:58)
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
include(\"bestanden/fen.php\");

aanpassen naar

include("bestanden/fen.php");

en dit door heel je script..
dus niet escapen!
Offline sir_green - 30/08/2007 22:03
Avatar van sir_green PHP interesse hmm handig is dat

in mijn code staat het al zoals jij zegt, error van simasters denk ik, heeft hij automatisch toegevoegd toen ik m'n code deelde 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.223s