"собственно код" (Отобразить)
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- //функция заменяет одиночные html теги, а также ссылки и спойлеры
- function replace_br($text){
- '<br />'=>'[br]',
- '<hr />'=>'[hr]',
- '<wbr>'=>''
- );
- $pattern="/<div class=\"postImg-wrap\" style=\"float: (.*?); clear: right; padding: 4px 4px 2px;\"><img src=\"(.*?)\"[\w\s\/=\"]{1,}><\/div>/";
- $replace="[img=\$1]\$2[/img]";
- $pattern="/<img src=\"(.*?)\"[\w\s\/=\"]{1,}>/";
- $replace="[img]\$1[/img]";
- $pattern="/<a href=\"(.*?)\"[\w\s\=\"]{1,}>(.*?)<\/a>/";
- $replace="[url=\$1]\$2[/url]";
- $pattern="/<div><\/div>/";
- $replace="\n";
- $pattern="/<div class=\"spoiler-wrap\">\s+<div class=\"spoiler-head folded clickable\">(.*?)<\/div> <div class=\"spoiler-body\">(.*?)<div class=\"clear\"><\/div>\s+<\/div><!--\/spoiler-body--><\/div><!--\/spoiler-wrap-->/is";
- $replace="[spoiler=\"\$1\"]\$2[/spoiler]";
- return $text;
- }
- //создает массив со встречающимися ей html и вариантами замены тегов
- function html_array($text){
- foreach($fnt[0] as $key=>$val){
- }
- foreach($clr[0] as $key=>$val){
- }
- foreach($algn[0] as $key=>$val){
- }
- foreach($sz[0] as $key=>$val){
- }
- '<span style="font-weight: bold;">'=>
- '0'=>'[b]',
- '1'=>'[/b]'
- ),
- '<b>'=>
- (
- '0'=>'[b]',
- '1'=>'[/b]'
- ),
- '<span style="font-style: italic;">'=>
- (
- '0'=>'[i]',
- '1'=>'[/i]'
- ),
- '<span style="text-decoration: underline;">'=>
- (
- '0'=>'[u]',
- '1'=>'[/u]'
- ),
- '<strike>'=>
- (
- '0'=>'[s]',
- '1'=>'[/s]'
- ),
- '<strike>'=>
- (
- '0'=>'[s]',
- '1'=>'[/s]'
- ),
- '<ul>'=>
- (
- '0'=>'[list]',
- '1'=>'[/list]'
- ),
- '<li>'=>
- (
- '0'=>'[*]',
- '1'=>''
- ),
- '<div>'=>
- (
- '0'=>'',
- '1'=>''
- ),
- );
- $array=$BIUS;
- return $array;
- }
- /*заменяет html код на bb
- регулярное выражение отдает массив вида
- array('0'=>array('0'=>'<html>',
- '1'=>'текст',
- '2'=>'</html>'),
- '1'=>array('0'=>'<html>',
- '1'=>'',
- '2'=>''),
- '2'=>array('0'=>'',
- '1'=>'текст',
- '2'=>''),
- '3'=>array('0'=>'',
- '1'=>'',
- '2'=>'</html>')
- );
- */
- function html_replace($html,$array){
- for($y=0;$y<$n;$y++)
- {
- //находит полные группы элементов:открывающий тег - контент - закрывающий тег
- if($r[2][$y]!='' && $r[1][$y-1]!='' && $r[3][$y+1]!='')
- {
- $bb[$y-1] = $array[$r[1][$y-1]][0];//находит открывающий тег
- $bb[$y] = $r[2][$y];//находит текст
- $bb[$y+1] = $array[$r[1][$y-1]][1];//закрывающий тег
- }
- //заполняет новый массив неподходящими данными
- elseif($bb[$y]=='')
- {
- $bb[$y] = $r[0][$y];
- }
- }
- return $bb;
- }
- //собирает все функции в одну
- //будет работать пока count($array) не будет равен 8
- //- количеству элементов в массиве $BIUS
- function construct($html){
- $array = html_array($html);
- $replace = html_replace($html,$array);
- $text=atline($replace);
- {
- return $text;
- }
- else
- {
- return construct($text);
- }
- }
- //выводит результат в одну строку.
- function atline($arr){
- for($x=0;$x<$n;$x++){
- $string.=$arr[$x];
- }
- return $string;
- }
- //ввод и вывод данных
- //находим участок страницы с текстом темы
- preg_match_all('/<div class="post_body">(.*?)<div class="clear"><\/div>\s+<div class="spacer_8">/',$utf,$html);
- $html=replace_br($html[1][0]);
- $str=construct($html);
- echo '<style type=text/css>#text{width:100%;height:70%;}#link{width:50%;}</style><form method=post><input type=text name=link id=link value="Введите ссылку на раздуча с Zoneland.ru" onfocus="if (this.value == \'Введите ссылку на раздуча с Zoneland.ru\') this.value = \'\';" onblur="if (this.value ==\'\') this.value = \'Введите ссылку на раздуча с Zoneland.ru\';"><input type=submit name=send></form><textarea id=text>'.$str.'</textarea>';
- ?>