Версия, подходяща за принтиране

Оригинлната версия може да видите тук

preg_replace
Публикувано от ncuxo на: 31.07.2007 05:24
та вапроса ми е кой символ(и)
се ползват за това <
успях това
CODE
1
2
3
4
5
<?
$text="?php echo asdasd ?>";
$text = preg_replace("#</?/php(.+?)#s", highlight_string('$1',true) ,$text);
echo $text;
?>
да напиша и до тук ... 
ето и втория вариант (чак сега разбрах че < e <
CODE
1
2
3
4
5
<?
$text="<?php echo asdasd ?>";
$text = preg_replace("#<?php(.+?)#s", highlight_string('$1',true) ,$text);
echo $text;
?>
вапроса е защо highlight_string не го приема може би защото е <
и как точно да го оправя ?
ЕДИТ 2
аха и тук го показва това &lt;

Това мнение е редактирано от ncuxo на 31.07.2007 05:37
Публикувано от PureEvil на: 31.07.2007 10:00
http://bg.php.net/manual/en/ref.pcre.php
Документацията наистина е полезно нещо! < е специален символ така че трябва да се ескейпне ако ще се ползва като нормален \<
Но ако не е тайна защо ти е нужно да правиш това?

< се интерпретира от браузъра като < така че какъв е проблема?

CODE
1
2
3
4
5
function replace_function($var) {
 
//code here
}

$text = preg_replace_callbacke("#\<\?php(.+?)\?\>#s", 'replace_function', $text);


---------------------------
Liberate Tu Temet Ex Inferis
Публикувано от ncuxo на: 31.07.2007 13:42
fatal error сеедно ще се опитам ... самоче и тук слагете array("#<#", "#>#"...);
не ги знам сичките но снощи се опитах да науча нещо
амм правя си bbcode нещо по добро от някакъв обикновен !
за сега направих това с bbcoda
CODE
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
48
49
50
51
52
<?php
$text=preg_replace("/\[b\](.+?)\[\/b\]/s", '<b>$1</b>',$text);
$text=preg_replace("/\[i\](.+?)\[\/i\]/s", '<i>$1</i>',$text);
$text=preg_replace("/\[u\](.+?)\[\/u\]/s", '<u>$1</u>',$text);
   
for($num=0;$num<="10";$num++){
   
$text = preg_replace("/\[color=(\#[0-9A-F]{6}|[a-z]+)\](.+?)\[\/color\]/s", '<span style="color:$1">$2</span>', $text);
   
}
       
$text = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $text);
       
$text = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $text);
       
$text = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $text);
   
$text = preg_replace('#(script|about|applet|activex|chrome):#is', "\\1:", $text);
   
$patterns = array();
   
$replacements = array();
   
$patterns[] = "#\[url\]([\w]+?://([\w\#$%&~/.\-;:=,?@\]+]+|\[(?!url=))*?)\[/url\]#is";
   
$replacements[] = '<a href="$1" target="_blank" class="postlink">$1</a>';
   
$patterns[] = "#\[url\]((www|ftp)\.([\w\#$%&~/.\-;:=,?@\]+]+|\[(?!url=))*?)\[/url\]#is";
   
$replacements[] = '<a href="$1" target="_blank" class="postlink">$1</a>';
   
$patterns[] = "#\[url=([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
   
$replacements[] = '<a href="$1" target="_new">$2</a>';
   
$patterns[] = "#\[url=((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
   
$replacements[] = '<a href="$1" target="_blank" class="postlink">$2</a>';
   
$patterns[] = "#\[email\]([a-z0-9&\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#si";
   
$replacements[] = '<a href="mailto:$1">$1</a>';
   
$text = preg_replace($patterns, $replacements, $text);
   
$code_entities_match = array('#<#', '#>#', '#"#', '#:#', '#\[#', '#\]#', '#\(#', '#\)#', '#\{#', '#\}#');
   
$code_entities_replace = array('<', '>', '"', ':', '[', ']', '(', ')', '{', '}');
 
$match = array('&alt;\?php/(.*?)/\?>\/s');
   
$replace = array("'<div>'.highlight_string(('$1'), true).'</div>'");
   
for($num=0;$num<="100";$num++){
$text=preg_replace("/\[code\](.+?)\[\/code\]/s",'<table cellspacing="1" width="100%" border="0"><tr><td>Code:</td></tr><tr><td width="100%" style="background-color: #E9EEFA;border: 1px solid #FFFFFF;"> '. preg_replace($code_entities_match, $code_entities_replace, '$1') .'</td></tr></table>',$text);
   
}
for($num=0;$num<="100";$num++){
$text=preg_replace("/\[quote\](.+?)\[\/quote\]/s", '<table cellspacing="1" width="100%" border="0"><tr><td>Quote:</td></tr><tr><td width="100%" style="background-color: #E9EEFA;border: 1px solid #FFFFFF;">'. preg_replace($code_entities_match, $code_entities_replace, '$1') .'</td></tr></table>',$text);
}
   
for($num=0;$num<="10";$num++){
   
$text = preg_replace("#\[size=([1-2]?[0-9])\](.*?)\[/size\]#si", "<span style='font-size:$1px'>". preg_replace($code_entities_match, $code_entities_replace, '$2') ."</span>", $text);
   
}
       
for($num=0;$num<="100";$num++){
       
$text=preg_replace("/\[quote\=(.+?)](.+?)\[\/quote\]/s", '<table cellspacing="1" width="100%" border="0"><tr><td>'. preg_replace($code_entities_match, $code_entities_replace, '$1') .' каза:</td></tr><tr><td width="100%" style="background-color: #E9EEFA;border: 1px solid #FFFFFF;">'. preg_replace($code_entities_match, $code_entities_replace, '$2') .'</td></tr></table>',$text);
       
}
mysql_connect($server, $dbusername, $dbpassword) or die ("");
@mysql_select_db($db_name) or die ("");
$result_sm=mysql_query("SELECT * FROM `smilies`");
while($sm=mysql_fetch_array($result_sm))
{
$smilie_url=$sm['smilie_url'];
$code=$sm['code'];
$text = str_replace($code, '<img src="../images/'.$smilie_url.'">', $text);
}
$text = nl2br($text);
mysql_close();
?>
мерси че се потрудни целта ми беше за този preg_replace да му сложа highlight_string() за да е цветно 

Това мнение е редактирано от ncuxo на 31.07.2007 13:49
Публикувано от Mutatos на: 01.08.2007 17:17
И сега всичко наред ли е вече? Мога ли да затварям темата?

---------------------------
Търся за почасова надомна работа преводачи от английски език за превод на материали от IT сферата - новини, уроци ...!

MYTECH.BG