<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>substr &#8211; SMsoft &#8211; informatica e dintorni</title>
	<atom:link href="https://blog.smsoft.it/tag/substr/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.smsoft.it</link>
	<description>consigli settimanali su MacOS, GNU/Linux ed Open Source</description>
	<lastBuildDate>Wed, 30 Sep 2009 13:21:22 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=81473</generator>
	<item>
		<title>Prendere solo una porzione di testo in PHP, preservando comunque i TAG HTML</title>
		<link>https://blog.smsoft.it/2009/09/30/prendere-solo-una-porzione-di-testo-in-php-preservando-comunque-i-tag-html/</link>
					<comments>https://blog.smsoft.it/2009/09/30/prendere-solo-una-porzione-di-testo-in-php-preservando-comunque-i-tag-html/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 30 Sep 2009 13:21:22 +0000</pubDate>
				<category><![CDATA[Html e PHP]]></category>
		<category><![CDATA[substr]]></category>
		<category><![CDATA[truncate]]></category>
		<guid isPermaLink="false">http://blog.smsoft.it/?p=414</guid>

					<description><![CDATA[Cercando in rete mi sono imbattuto in una funzione secondo me molto utile. Permette infatti di prelevare solo una porzione di testo da una stringa (es. tre caratteri), includendo comunque gli eventuali TAG HTML in modo che l&#8217;output HTML sia corretto. Ad esempio [crayon-6a7f78a04c160970242239/] Segue la funzione: [crayon-6a7f78a04c170823101202/]]]></description>
										<content:encoded><![CDATA[<p><a href="http://jsfromhell.com" target="_blank" rel="noopener noreferrer">Cercando in rete mi sono imbattuto</a> in una funzione secondo me molto utile. Permette infatti di prelevare solo una porzione di testo da una stringa (es. tre caratteri), includendo comunque gli eventuali TAG HTML in modo che l&#8217;output HTML sia corretto. Ad esempio</p><pre class="urvanov-syntax-highlighter-plain-tag">echo truncate('jo<i><b>n</b>as</i>', 3, '...'); //jo<...
echo truncate('jo<i><b>n</b>as</i>', 3, '...', true); //jo<i><b>n</b></i>...
echo truncate('jo<i><b>n</b>as</i>', 3, '...', true, false); //jo<i><b>n...</pre><p>Segue la funzione:</p><pre class="urvanov-syntax-highlighter-plain-tag">"]function truncate($s, $l, $e = '...', $isHTML = false){
  $i = 0;
  $tags = array();
  if($isHTML){
    preg_match_all('/<[^>]+>([^<]*)/', $s, $m, PREG_OFFSET_CAPTURE | PREG_SET_ORDER);
    foreach($m as $o){
      if($o[0][1] - $i >= $l)
        break;
      $t = substr(strtok($o[0][0], " \t\n\r\0\x0B>"), 1);
      if($t[0] != '/')
        $tags[] = $t;
      elseif(end($tags) == substr($t, 1))
        array_pop($tags);
      $i += $o[1][1] - $o[0][1];
    } 
  } 
  return substr($s, 0, $l = min(strlen($s),  $l + $i)) .   (count($tags = array_reverse($tags)) ? '</' . implode('></', $tags) . '>' : '') .   (strlen($s) > $l ? $e : '');
}</pre><p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2009/09/30/prendere-solo-una-porzione-di-testo-in-php-preservando-comunque-i-tag-html/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
