start copy from cimac web
This commit is contained in:
@@ -0,0 +1,154 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
|
||||
<title>Link e testo scorrevole</title>
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<h1>Link e testo scorrevole</h1>
|
||||
|
||||
Questo tutorial spiega come inserire link (interni ed esterni) e mostrare una nuova modalità di
|
||||
|
||||
scrittura. Contiene anche un parser HTML minimale.
|
||||
|
||||
<div class="source">
|
||||
|
||||
<pre><code><?php
|
||||
|
||||
<span class="kw">require(</span><span class="str">'fpdf.php'</span><span class="kw">);
|
||||
|
||||
|
||||
|
||||
class </span>PDF <span class="kw">extends </span>FPDF
|
||||
|
||||
<span class="kw">{
|
||||
|
||||
protected </span>$B <span class="kw">= </span>0<span class="kw">;
|
||||
|
||||
protected </span>$I <span class="kw">= </span>0<span class="kw">;
|
||||
|
||||
protected </span>$U <span class="kw">= </span>0<span class="kw">;
|
||||
|
||||
protected </span>$HREF <span class="kw">= </span><span class="str">''</span><span class="kw">;
|
||||
|
||||
|
||||
|
||||
function </span>WriteHTML<span class="kw">(</span>$html<span class="kw">)
|
||||
|
||||
{
|
||||
|
||||
</span><span class="cmt">// HTML parser
|
||||
|
||||
</span>$html <span class="kw">= </span>str_replace<span class="kw">(</span><span class="str">"\n"</span><span class="kw">,</span><span class="str">' '</span><span class="kw">,</span>$html<span class="kw">);
|
||||
|
||||
</span>$a <span class="kw">= </span>preg_split<span class="kw">(</span><span class="str">'/<(.*)>/U'</span><span class="kw">,</span>$html<span class="kw">,-</span>1<span class="kw">,</span>PREG_SPLIT_DELIM_CAPTURE<span class="kw">);
|
||||
|
||||
foreach(</span>$a <span class="kw">as </span>$i<span class="kw">=></span>$e<span class="kw">)
|
||||
|
||||
{
|
||||
|
||||
if(</span>$i<span class="kw">%</span>2<span class="kw">==</span>0<span class="kw">)
|
||||
|
||||
{
|
||||
|
||||
</span><span class="cmt">// Text
|
||||
|
||||
</span><span class="kw">if(</span>$<span class="kw">this-></span>HREF<span class="kw">)
|
||||
|
||||
</span>$<span class="kw">this-></span>PutLink<span class="kw">(</span>$<span class="kw">this-></span>HREF<span class="kw">,</span>$e<span class="kw">);
|
||||
|
||||
else
|
||||
|
||||
</span>$<span class="kw">this-></span>Write<span class="kw">(</span>5<span class="kw">,</span>$e<span class="kw">);
|
||||
|
||||
}
|
||||
|
||||
else
|
||||
|
||||
{
|
||||
|
||||
</span><span class="cmt">// Tag
|
||||
|
||||
</span><span class="kw">if(</span>$e<span class="kw">[</span>0<span class="kw">]==</span><span class="str">'/'</span><span class="kw">)
|
||||
|
||||
</span>$<span class="kw">this-></span>CloseTag<span class="kw">(</span>strtoupper<span class="kw">(</span>substr<span class="kw">(</span>$e<span class="kw">,</span>1<span class="kw">)));
|
||||
|
||||
else
|
||||
|
||||
{
|
||||
|
||||
</span><span class="cmt">// Extract attributes
|
||||
|
||||
</span>$a2 <span class="kw">= </span>explode<span class="kw">(</span><span class="str">' '</span><span class="kw">,</span>$e<span class="kw">);
|
||||
|
||||
</span>$tag <span class="kw">= </span>strtoupper<span class="kw">(</span>array_shift<span class="kw">(</span>$a2<span class="kw">));
|
||||
|
||||
</span>$attr <span class="kw">= array();
|
||||
|
||||
foreach(</span>$a2 <span class="kw">as </span>$v<span class="kw">)
|
||||
|
||||
{
|
||||
|
||||
if(</span>preg_match<span class="kw">(</span><span class="str">'/([^=]*)=["\']?([^"\']*)/'</span><span class="kw">,</span>$v<span class="kw">,</span>$a3<span class="kw">))
|
||||
|
||||
</span>$attr<span class="kw">[</span>strtoupper<span class="kw">(</span>$a3<span class="kw">[</span>1<span class="kw">])] = </span>$a3<span class="kw">[</span>2<span class="kw">];
|
||||
|
||||
}
|
||||
|
||||
</span>$<span class="kw">this-></span>OpenTag<span class="kw">(</span>$tag<span class="kw">,</span>$attr<span class="kw">);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function </span>OpenTag<span class="kw">(</span>$tag<span class="kw">, </span>$attr<span class="kw">)
|
||||
|
||||
{
|
||||
|
||||
</span><span class="cmt">// Opening tag
|
||||
|
||||
</span><span class="kw">if(</span>$tag<span class="kw">==</span><span class="str">'B' </span><span class="kw">|| </span>$tag<span class="kw">==</span><span class="str">'I' </span><span class="kw">|| </span>$tag<span class="kw">==</span><span class="str">'U'</span><span class="kw">)
|
||||
|
||||
</span>$<span class="kw">this-></span>SetStyle<span class="kw">(</span>$tag<span class="kw">,</span>true<span class="kw">);
|
||||
|
||||
if(</span>$tag<span class="kw">==</span><span class="str">'A'</span><span class="kw">)
|
||||
|
||||
</span>$<span class="kw">this-></span>HREF <span class="kw">= </span>$attr<span class="kw">[</span><span class="str">'HREF'</span><span class="kw">];
|
||||
|
||||
if(</span>$tag<span class="kw">==</span><span class="str">'BR'</span><span class="kw">)
|
||||
|
||||
</span>$<span class="kw">this-></span>Ln<span class="kw">(</span>5<span class="kw">);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function </span>CloseTag<span class="kw">(</span>$tag<span class="kw">)
|
||||
|
||||
{
|
||||
|
||||
</span><span class="cmt">// Closing tag
|
||||
|
||||
</span><span class="kw">if(</span>$tag<span class="kw">==</span><span class="str">'B' </span><span class="kw">|| </span>$tag<span class="kw">==</span><span class="str">'I' </span><span class="kw">|| </span>$tag<span class="kw">==</span><span class="str">'U'</span><span class="kw">)
|
||||
|
||||
</span>$<span class="kw">this-></span>SetStyle<span class="kw">(</span>$tag<span class="kw">,</span>false<span class="kw">);
|
||||
|
||||
if(</span>$tag<span class="kw">==</span><span class="str">'A'</span><span class="kw">)
|
||||
|
||||
</span>$<span class="kw">this-></span>HREF <span class="kw">= </span><span class="str">''</span><span class="kw">;
|
||||
|
||||
Reference in New Issue
Block a user