BBcodes voor in nieuwsbrief

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marco Eilander

Marco Eilander

08/08/2013 20:44:24
Quote Anchor link
Hallo,

Ik ben bezig met een nieuwsbrief systeem, maar het lukt mij maar niet met het volgende probleem :
- BBcodes.

Ik heb dit gevonden :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
function goedfilter1($text){
    $text = stripslashes($text);
    
    //transformeert eerst de "goede" tags naar hun bb versie, zodat ze door het strip_tags filter niet aangetast worden.
    $text = preg_replace("(<img src=\"([a-z0-9_\-\.\/:]+?)\"></img>)", "[img]$1[/img]", $text);
    $text = preg_replace("(<b>(.+?)</b>)", "[b]$1[/b]", $text);
    
    $text = strip_tags($text);
    $text = htmlentities($text, ENT_QUOTES);
    $text = preg_replace('(\[img\]http://([a-z0-9_\-\.\/:]+?)\[/(?:img)?\])', '<img src="http://$1">', $text);
    $text = preg_replace('(\[img\]([a-z0-9_\-\.\/:]+?)\[/(?:img)?\])', '<img src="http://$1">', $text);
    $text = preg_replace('(\[b\](.+?)\[/b\])', '<b>$1</b>', $text);
    return $text;
}

?>

maar deze code werkt helaas niet. :S
Als ik een mail wil versturen, krijg ik een blankgedeelte en als ik [b_]...[/ b] gebruik zonder die script, wordt het gewoon weergegeven als "[b_] tekst[/b ]".

Iemand een idee, hoe ik dit kan doen / oplossen?

Met vriendelijke groet.
Gewijzigd op 08/08/2013 20:47:16 door Marco Eilander
 
PHP hulp

PHP hulp

29/03/2024 10:23:54
 
Chris -

Chris -

08/08/2013 21:48:04
Quote Anchor link
Waar in je mail script wordt dit aangeroepen?
 
Marco Eilander

Marco Eilander

08/08/2013 21:52:48
Quote Anchor link
Chris - op 08/08/2013 21:48:04:
Waar in je mail script wordt dit aangeroepen?


Ik ben nog niet zo heel goed in php, dus ik doe het op een wellicht erg kromme manier :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
36
37
38
39
40
41
42
43
44
45
46
47
<?php

if (isset($_POST['verstuur'])){
$onderwerp = $_POST['onderwerp'];
$mail = $_POST['bericht'];

function
bb($mail, $img = "true"){
$mail = stripslashes($mail);
$mail = strip_tags($mail);
$mail = htmlentities($mail, ENT_QUOTES);
$mail = nl2br($mail);
$mail = preg_replace('(\[b\](.+?)\[/b\])', '<strong>$1</strong>', $mail);
$mail = preg_replace('(\[img\]http://([a-z0-9_\-\.\/:]+?)\[/(?:img)?\])', '<img src="http://$1">', $mail);
$mail = preg_replace('(\[img\]([a-z0-9_\-\.\/:]+?)\[/(?:img)?\])', '<img src="http://$1">', $mail);

if ($onderwerp == ""){
echo "<div class='fout'>Je hebt geen onderwerp ingevuld!</div>";
$fout = "1";
}

if ($mail == ""){
echo "<div class='fout'>Je hebt geen bericht ingevuld!</div>";
$fout = "1";
}



if($fout != "1"){
echo "<div class='melding'>nieuwsbrief is verstuurd!</div>";
//------------
$sql = mysql_query("SELECT * FROM nieuwsbrief_abonnees");

while($row = mysql_fetch_assoc($sql)) {
    //mail script
  mail($row['email'], $onderwerp,
  $mail, "From:" . "[email protected]");
    //eind mail script
}
if(mysql_num_rows($sql) == 0) {
    echo "";
}

//-------------
}else{

}

}


?>
 
- Ariën  -
Beheerder

- Ariën -

08/08/2013 21:58:55
Quote Anchor link
Je roept de functie nergens aan.
 
Marco Eilander

Marco Eilander

08/08/2013 22:02:32
Quote Anchor link
- Aar - op 08/08/2013 21:58:55:
Je roept de functie nergens aan.


Zou je mij er bij kunnen helpen?
Ik zou namelijk niet weten waar, en hoe ik het moet aanroepen.
Ik dacht dat het goed zou zijn, als ik alles had aangegeven bij "$mail = ... etc.".

Het is al een hele prestatie dat mij het mailen is gelukt. :P

Groeten,
Marco
 
- Ariën  -
Beheerder

- Ariën -

09/08/2013 00:17:17
Quote Anchor link
Over $mail in de mailfunctie:
ubb($mail)
 
Marco Eilander

Marco Eilander

09/08/2013 09:32:06
Quote Anchor link
- Aar - op 09/08/2013 00:17:17:
Over $mail in de mailfunctie:
ubb($mail)


Het werkt helaas nog niet zoals het moet.
Nu wordt [b_][/ b], veranderd naar <strong_></ strong>.

En in de mail zie je dan ook "<strong.." staan.
Gewijzigd op 09/08/2013 09:32:29 door Marco Eilander
 
- Ariën  -
Beheerder

- Ariën -

09/08/2013 09:33:24
Quote Anchor link
Vergeet je HTMLheaders niet in je mail.
 
Marco Eilander

Marco Eilander

09/08/2013 09:54:28
Quote Anchor link
- Aar - op 09/08/2013 09:33:24:
Vergeet je HTMLheaders niet in je mail.


Ik heb in de function van bb, de $mail naar $bericht veranderd. En heb daarbij dit gemaakt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
$mail = '
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<p>'.$bericht.'<p>
</body>
</html>
';


Ik dacht dat dit misschien zou werken, maar helaas.

ik dacht namelijk het volgende :
- $bericht = wat er in de mail moet komen, dus heb ik deze variable gebruikt in de bb functie.
- $mail = de complete mail met "$bericht" tussen de :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<p></p>

- Waar het script de mail verstuurd heb ik het zo gelaten :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
//mail script
  mail($row['email'], $onderwerp,
 bb($mail), "From:" . "[email protected]");
//eind mail script
Gewijzigd op 09/08/2013 09:55:23 door Marco Eilander
 
- Ariën  -
Beheerder

- Ariën -

10/08/2013 19:36:57
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

10/08/2013 20:39:19
Quote Anchor link
Marco,
De regex kloppen niet, vraag me niet waarom dan moeten je de hulp van Wouter J hebben.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.