Heim >Backend-Entwicklung >PHP-Problem >So ersetzen Sie Wortinhalte in PHP

So ersetzen Sie Wortinhalte in PHP

藏色散人
藏色散人Original
2020-07-23 10:21:505947Durchsuche

So ersetzen Sie Word-Inhalte durch PHP: Laden Sie zuerst PHPWORD herunter, dekomprimieren Sie es und fügen Sie es in „extend“ unter dem Projekt ein. , ' ');"-Methode kann den Kontoinhalt ersetzen.

So ersetzen Sie Wortinhalte in PHP

PHP verwendet PHPWORD, um den Inhalt des WORD-Dokuments zu ersetzen

Verwenden Sie PHP, um den Inhalt in Word zu ersetzen. Wenn die Umgebung TP5 ist

Laden Sie die PHPWORD-Klasse herunter, entpacken Sie sie und legen Sie sie unter dem Projekt „extend/“ ab, also: project/extend/PHPWord

Empfohlen: „PHP-Tutorial

Verwendung:

require_once './extend/PHPWord/PHPWord.php';
require_once './extend/PHPWord/PHPWord/IOFactory.php';
$PHPWord =  new PHPWord();
$loadtemplate = $PHPWord->loadTemplate('/'.$template.'.docx';);//加载word文件
$loadtemplate->setValue('account', '123');//替换account内容为123
$loadtemplate->setValue('password', '456');//替换password内容为456
$loadtemplate->save('/yourpath/'.md5(time()) .'.docx');//存储位置

Wenn Sie den Inhalt unterwegs ersetzen, finden Sie verstümmelte Zeichen oder der Ersatz ist nicht erfolgreich!

Hauptsächlich wurde die Ersetzungsmethode von setValue geändert: extension/PHPWord/PHPWord/template.php

wurde ersetzt durch:

public function setValue($search, $replace, $limit=-1) {
        if(substr($search, 0, 1) !== '{' && substr($search, -1) !== '}') {
            $search = '{'.$search.'}';
        }
        
        if(!is_array($replace)) {
            // $replace = utf8_encode($replace);
            //$replace = iconv( 'gbk','utf-8', $replace);
            $replace = str_replace("\n","<w:br />",$replace);
        }
        
        preg_match_all(&#39;/\{[^}]+\}/&#39;, $this->_documentXML, $matches);
        foreach ($matches[0] as $k => $match) {
            $no_tag = strip_tags($match);
            if ($no_tag == $search) {
                $match = &#39;{&#39;.$match.&#39;}&#39;;
                $this->_documentXML = preg_replace($match, $replace, $this->_documentXML, $limit);
                if ($limit == 1) {
                    break;
                }
            }
        }
    }

Das obige ist der detaillierte Inhalt vonSo ersetzen Sie Wortinhalte in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn