如何使用Perl在匹配的字符串上创建HTML标记

时间:2014-05-21 05:35:59

标签: regex perl

string_1

  

< p class =" paraind"><我> Erstens werden kulturelle Defizite bzw。 ein geringes kulturelles Kapital der Migrantenfamilien angenommen,das unter Bezugnahme auf das kultursoziologisch begrü ndete BORDIEU’ sche< I> Habituskonzept< / I>和seine这些der‚ kulturellen Passung‘ wegen der angenommenen Distanz der Migrantenfamilien zur deutschen(Mittelschicht-)Kultur fü r geringe Bildungschancen von Migrantenkinder verantwortlich sei。 BORDIEU und PASSERON benutzen fü r diesen Vergleich des familiä ren kulturellen Kapitals mit dem der< I> Mittelschichtinstitution< / I><一个id =" ch1_fn18" HREF ="#chapter1.html cch1_fn18">< SUP>第18版; /坐席>< / A> der Schule den durchaus umstrittenen Begriff der‚ kulturellen Passung‘ (1971年)。 Der Erklä rungsansatz der kulturellen Herkunft als Ursache fü r Bildungs(miss)erfolg erscheint deswegen prinzipiell umstritten und quasiwissenschaftlich,weil viele der Herkunftskultur zugeschriebenen Eigenschaften sich oftmals als soziale Faktoren entpuppen,und weil die Unterstellung einer pauschal defizit& ;#x00E4; ren Lebenslage,Kultur und Sprachvermö gens nicht-deutscher Familien auf eine kulturalistischessentialistische,wenn nicht sogar diskriminierende Haltung verweist。< / p为H.

string_2

  

begrü ndete BORDIEU’ sche Habituskonzept und seine这些der‚ kulturellen

您可以看到 string_2 内容与 string_1 (突出显示的文字)相匹配,但唯一的区别是< string_1 中的i> 标记,所以我无法匹配这两个字符串

我想将 string_1 中的所有标记创建为 string_2 中的相应文本,以匹配两个字符串,

请有人为此提出任何想法或解决方案

1 个答案:

答案 0 :(得分:2)

my regex solutionprevious question限制较少的版本可以解决此问题:

use strict;
use warnings;

my $string_1 = do {local $/; <DATA>};

my $string_2 = "begr&#x00FC;ndete BORDIEU&#x2019;sche Habituskonzept und seine These der &#x201A;kulturellen";

# Build a regex to match HTML interjected at whitespace
my $string2_re = join '(?:\s+|<.*?>)+', map quotemeta, split ' ', $string_2;

if ($string_1 =~ /($string2_re)/) {
    print "Matching = '$1'";
}

__DATA__
< p class="paraind">< i>Erstens werden kulturelle Defizite bzw. ein geringes kulturelles Kapital der Migrantenfamilien angenommen, das unter Bezugnahme auf das kultursoziologisch begr&#x00FC;ndete BORDIEU&#x2019;sche < i>Habituskonzept< /i> und seine These der &#x201A;kulturellen Passung&#x2018; wegen der angenommenen Distanz der Migrantenfamilien zur deutschen (Mittelschicht-)Kultur f&#x00FC;r geringe Bildungschancen von Migrantenkinder verantwortlich sei. BORDIEU und PASSERON benutzen f&#x00FC;r diesen Vergleich des famili&#x00E4;ren kulturellen Kapitals mit dem der < i>Mittelschichtinstitution< /i>< a id="ch1_fn18" href="chapter1.html#cch1_fn18">< sup>18< /sup>< /a> der Schule den durchaus umstrittenen Begriff der &#x201A;kulturellen Passung&#x2018; (1971). Der Erkl&#x00E4;rungsansatz der kulturellen Herkunft als Ursache f&#x00FC;r Bildungs(miss)erfolg erscheint deswegen prinzipiell umstritten und quasiwissenschaftlich, weil viele der Herkunftskultur zugeschriebenen Eigenschaften sich oftmals als soziale Faktoren entpuppen, und weil die Unterstellung einer pauschal defizit&#x00E4;ren Lebenslage, Kultur und Sprachverm&#x00F6;gens nicht-deutscher Familien auf eine kulturalistischessentialistische, wenn nicht sogar diskriminierende Haltung verweist.< /p>

输出:

Matching = 'begr&#x00FC;ndete BORDIEU&#x2019;sche < i>Habituskonzept< /i> und seine These der &#x201A;kulturellen'