[php] regexp

Pagina: 1
Acties:

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
hallo,

Ik wil zoiets bereiken:
PHP:
1
2
3
4
5
6
7
8
9
<?
str_replace("<","&amp;lt");
str_replace(">","&amp;gt");

if ($status = "Mod")
{
          $bericht = preg_replace("/\\[html\](.*?)\\[\/html\]/msi","output");
}
?>

maar tussen de [html] en [/html] moettie &lt en &gt weer omzetten naar < en >

kan iemand me een duwtje in de goede richting geven hoe ik dat voor elkaar krijg, zodat hij alleen tussen [html] tags de &lt en &gt terugzet naar < en > ?

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


Verwijderd

PHP:
1
2
3
4
5
6
7
8
9
<?
function html($str)
{
    $str = str_replace("&amp;amp;lt;","<",$str);
    $str = str_replace("&amp;amp;gt;",">",$str);
    return $str;
}
$string = preg_replace("/\\[HTML\]\r?\n?(.*)\\[\/HTML\]\r?\n?/ise",'html("\\1")',$string);
?>

zoiets?

edit: oh en hij haalt overbodige newlines ook weg

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
Op zondag 25 november 2001 00:57 schreef fladder het volgende:
PHP:
1
2
3
4
5
6
7
8
9
<?
function html($str)
{
    $str = str_replace("&amp;amp;amp;lt;","<",$str);
    $str = str_replace("&amp;amp;amp;gt;",">",$str);
    return $str;
}
$string = preg_replace("/\\[HTML\]\r?\n?(.*)\\[\/HTML\]\r?\n?/ise",'html("\\1")',$string);
?>

zoiets?

edit: oh en hij haalt overbodige newlines ook weg
ja volgens mij gaat dit best wel werken

ik ga het ff testen :)

alvast bedankt!!! :)

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
ik heb de code een beetje aangepast maar hij zet de &lt en &gt niet om naar < en >

heb ik iets fout gedaan?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
$bericht = str_replace("<","&amp;lt",$bericht);
$bericht = str_replace(">","&amp;gt",$bericht);

// knip

function html($str)
{
    $str = str_replace("&amp;lt","<",$str);
    $str = str_replace("&amp;gt",">",$str);
    return $str;
}

if ($userstatus == "Moderator")
{
   $bericht = preg_replace("/\\[html\](.*?)\\[\/html\]/msi",html("\\1"),$bericht);
}
?>

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


Verwijderd

Ja je hebt de preg_replace verprutst.

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
Op zondag 25 november 2001 13:14 schreef fladder het volgende:
Ja je hebt de preg_replace verprutst.
Klopt, dus daarom gebruik ik nu weer de 'originele' en nu werkt ie ook opeens.. Dat is dus opgelost.

maar nu wou ik hetzelfde doen met een [thread=X] functie.

maar in een thread waar ik de functie gebruik is er niks aan de hand, maar in een thread waar ik de functie niet gebruik krijg ik:

Fatal error: Cannot redeclare thread() in /www/.../thread.php on line 203

Iemand enig idee?

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

thread al een keer gedeclareerd

*zucht* errors lezen is niet moeilijk toch?
en zeker in php niet

Doet iets met Cloud (MS/IBM)


  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
Op zondag 25 november 2001 18:29 schreef D2k het volgende:
thread al een keer gedeclareerd
en dat betekend dat de functie thread() al bestaat??? Niet hoor...
*zucht* errors lezen is niet moeilijk toch?
voor mij wel :'( met van die moeilijke woorden
en zeker in php niet
das waar

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
--> schop <--

kan iemand mij dan misschien meer duidelijkheid geven hoe dit probleem is op te lossen, en heb ik gelijk met mijn beredenering?

Thnx
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?
function thread($str) // dit is regel 203
{
   $thread_sql = mysql_query("SELECT * FROM f_threads WHERE id='$str'") or die("<p>Error: ".mysql_error());
   $thread_row = mysql_fetch_array($thread_sql);
     $threadtitel = $thread_row["titel"];

       $threadtitel = str_replace("<","&amp;lt",$threadtitel);
       $threadtitel = str_replace(">","&amp;gt",$threadtitel);

    if ($threadtitel)
    {
       $output = "<a href=thread.php?id=$str>$threadtitel</a>";
     }

    if (!$threadtitel)
    {
       $output = "[thread=$str]";
     }

return $output;

}

$bericht = preg_replace("/\[thread=(.*?)\]/ise",'thread("\\1")',$bericht);
?>

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt

Pagina: 1