0
Je suis en train de convertir le code HTML suivantConversion HTML imbriqué BBcode
<div id="collapseOne" class="accordion-body collapse">
<div class="accordion-inner">
My Header1
</div></div>
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
My content1
</a></div>
au BBcode suivant comme celui-ci
[header] Mon Header1 [en-tête /]
[ contenu] Mon contenu1 [contenu /]
[header] My Header2 [header /]
[content] Mon contenu2 [content /]. . .
Comment est-ce que je peux faire ceci? Je suis écrire cette classe, mais ne fonctionnent pas
class BBCode
{
private $Tags = array(
'content','header');
/**
* Replaces all the BBCodes to HTML Codes
* param string $text: the text with BBCodes
*/
function ReplaceTag($Text)
{
$Replace_code['content'] = "<div id=\"collapseOne\" class=\"accordion-body collapse in\"><div class=\"accordion-inner\">$1</div></div>" ;
$Replace_code['header'] = "<div class=\"accordion-heading\"><a class=\"accordion-toggle\" data-toggle=\"collapse\" data-parent=\"#accordion2\" href=\"#collapseOne\">$1</a></div>" ;
// Deleting spaces from begging and end of string
$Done = trim($Text);
// Deleting all html code
$Done = htmlspecialchars($Done);
if(in_array("content",$this->Tags))
$Done = preg_replace("/\[content\](.*?)\[\/content\]/is", $Replace_code['content'], $Done);
if(in_array("header",$this->Tags))
$Done = preg_replace("(\[header\](.*?)\[\/header\])is", $Replace_code['header'], $Done);
$Done = nl2br($Done);
enter code here
return $Done;
}
}
Le problème est le collapseOne que pour chaque paire de balises à modifier