[PHP] Vaag regex probje

Pagina: 1
Acties:

  • AK47
  • Registratie: Juli 2001
  • Laatst online: 04-05-2024
Ik heb een functie geschreven die UBB-tags replaced naar html tags, en met succes. Als ik een gewone string gebruik doet ie het prima...
...maar als ik strings uit mijn mySQL db'tje gaan halen doet 'ie helemaal niet :(
Moet ik soms iets speciaals doen met de string uit mijn db?

Verwijderd

Ja de de data die je uit de db leest eerst stripslash-en :)

  • AK47
  • Registratie: Juli 2001
  • Laatst online: 04-05-2024
Op zaterdag 17 november 2001 10:57 schreef Zef het volgende:
Ja de de data die je uit de db leest eerst stripslash-en :)
Dat werkt ook niet :(

Verwijderd

echo de db uitvoer en plak dat er handmatig in

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Geef eens een code voorbeeld dan kunnen we wat meer zeggen :)

  • AK47
  • Registratie: Juli 2001
  • Laatst online: 04-05-2024
Ok, de code:
De UBB func, nog helemaal uitgewerkt met alle tags:
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
27
28
29
30
31
32
33
34
35
<?
function ubb ($tekst) {
    $pattern = array (
        "/\\\[\/(code|php)\\](.*)\\\[(code|php)\\]/isUe",
        "/\\\[(code|php)\\](.*)\\\[\\/\\1\\]/isUe"
    );
    $replace = array (
        "'[/$1]'.tekstformat('$2').'[$3]'",
        "tekstformat('$2', '$1')"
    );
    $tekst = preg_replace($pattern, $replace, $tekst);
    return $tekst;
}

function tekstformat ($tekst, $type="") {
    switch ($type) {
        case "code":
            if ($tekst) {
                $tekst = "<br><br><font face=\"courier new\">$tekst</font><br><br>";
            }
        break;
        case "php":
                $tekst = phphighlight($tekst);
                break;
        default:
            $old = "";
            while ($old != $tekst) {
                $old = $tekst;
                $tekst = preg_replace("/\\\[([bui])\\](.*)\\\[\\/\\1\\]/isU", "<$1>$2</$1>", $tekst);
            }
            break;
    }
    return $tekst;
}
?>

en hoe ik het aanvraag:
PHP:
1
2
3
4
5
6
<?
//hiervoor wordt een while statement met mysql_fetch_array als inhoud, aangegeven door $row
$tekst = $row["inhoud"];
$tekst = stripslashes($tekst);
$tekst = nl2br($tekst);
?>

$tekst = ubb($tekst);

  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
En hoe komt de tekst uit de database?
Als je nou eerst eens
PHP:
1
2
3
<?
echo $row[0];
?>

doet, misschien wordt je dan wat wijzer, je kan namelijk ff kijken wat er eventueel mis is????
Pagina: 1