dir/include/html2bbcode.php

52 lines
1.5 KiB
PHP
Raw Normal View History

2010-09-09 05:14:17 +02:00
<?php
function html2bbcode($s) {
// Tags to Find
$htmltags = array(
2010-11-05 10:19:39 +01:00
'/\n/is',
2010-09-09 05:14:17 +02:00
'/\<b\>(.*?)\<\/b\>/is',
'/\<i\>(.*?)\<\/i\>/is',
'/\<u\>(.*?)\<\/u\>/is',
'/\<ul\>(.*?)\<\/ul\>/is',
'/\<li\>(.*?)\<\/li\>/is',
'/\<img(.*?) src=\"(.*?)\" (.*?)\>/is',
'/\<div(.*?)\>(.*?)\<\/div\>/is',
'/\<br(.*?)\>/is',
'/\<strong\>(.*?)\<\/strong\>/is',
'/\<a href=\"(.*?)\"(.*?)\>(.*?)\<\/a\>/is',
'/\<code\>(.*?)\<\/code\>/is',
2010-10-08 06:18:26 +02:00
'/\<span style=\"color:(.*?)\"\>(.*?)\<\/span\>/is',
2010-09-09 05:14:17 +02:00
'/\<blockquote\>(.*?)\<\/blockquote\>/is',
);
// Replace with
$bbtags = array(
2010-11-05 10:19:39 +01:00
'',
2010-09-09 05:14:17 +02:00
'[b]$1[/b]',
'[i]$1[/i]',
'[u]$1[/u]',
'[list]$1[/list]',
'[*]$1',
'[img]$2[/img]',
'$2',
2010-11-05 10:19:39 +01:00
"\n",
2010-09-09 05:14:17 +02:00
'[b]$1[/b]',
'[url=$1]$3[/url]',
2010-09-09 10:49:03 +02:00
'[code]$1[/code]',
2010-09-09 05:14:17 +02:00
'[color="$1"]$2[/color]',
'[quote]$1[/quote]',
);
// Replace $htmltags in $text with $bbtags
$text = preg_replace ($htmltags, $bbtags, $s);
2010-12-30 23:21:05 +01:00
call_hooks('html2bbcode', $text);
2010-09-09 05:14:17 +02:00
// Strip all other HTML tags
$text = strip_tags($text);
return $text;
}