Preciso de ajuda para desenvolver a verse.rule para um módulo de bíblia.
O módulo KJV não possui títulos e usa as seguintes verse.rule:
verse.rule="((?:^|.+?)(<W[GH]\d+>\ ?)+)" "<wt>$1"
verse.rule="<wt>(.*?)(<W([HG]\d+)>)(<W([HG]\d+)>)?(<W([HG]\d+)>)?" "<wt><a href=_STRONG_$3|_STRONG2_$5|_STRONG3_$7|_NOLINK_>$1</a>$2$4$6"
Dessa maneira os números de Strong podem ser ocultados, bastando configurar no theWord.
Mas se colocarmos títulos nesse módulo e mantivermos essas verse.rule o título fica, estranhamente, abaixo do número do versículo. Os números de Strong continuam podendo ser ocultados.
Se deletarmos a primeira verse.rule, o título fica correto (antes do número do versículo), mas o número de Strong passa a não ficar oculto, mostrando seu número.
A pergunta é: qual(ais) verse.rule que faz com que eu tenha o título antes do verso (que é o correto) e também possa ocultar os números de Strong em um módulo que tem a mesma estrutura do módulo KJV?
Ajuda com Verse.Rule
Moderator: RubioTerra
-
- Posts: 732
- Joined: Wed Sep 23, 2009 5:13 pm
- Location: Brasília, Brazil
Re: Ajuda com Verse.Rule
Troque a verse.rule por Deve resolver.
Code: Select all
verse.rule="((?:^|.+?)(<W[GH]\d+>\ ?)+)" "<wt>$1"
Code: Select all
verse.rule="(<TS\d?>.+?<Ts>)?((?:^|.+?)(<W[GH]\d+>\ ?)+)" "$1<wt>$2"
Rúbio R. C. Terra
Brasília/DF - Brasil
Brasília/DF - Brasil
Re: Ajuda com Verse.Rule
Grato! Resolveu o problema.
Só por curiosidade: por que GH e não HG?
Pois na bíblia o hebraico vem antes do grego.
Só por curiosidade: por que GH e não HG?
Pois na bíblia o hebraico vem antes do grego.
-
- Posts: 732
- Joined: Wed Sep 23, 2009 5:13 pm
- Location: Brasília, Brazil
Re: Ajuda com Verse.Rule
Numa expressão regular "[GH]" representa um conjunto de caracteres válidos, não importa a ordem.
Rúbio R. C. Terra
Brasília/DF - Brasil
Brasília/DF - Brasil
Re: Ajuda com Verse.Rule
No caso de um versículo no qual constam vários títulos como ficaria?
Eu coloquei assim a primeira verse.rule e funcionou, mas não sei se há um modo melhor (a segunda verse.rule mantive igual):
verse.rule="(<TS\d?>.+?<Ts>)?(<TS\d?>.+?<Ts>)?(<TS\d?>.+?<Ts>)?((?:^|.+?)(<W[GH]\d+>\ ?)+)" "$1$2$3<wt>$4"
Creio que assim funcione para até três títulos na mesma linha.
Eu coloquei assim a primeira verse.rule e funcionou, mas não sei se há um modo melhor (a segunda verse.rule mantive igual):
verse.rule="(<TS\d?>.+?<Ts>)?(<TS\d?>.+?<Ts>)?(<TS\d?>.+?<Ts>)?((?:^|.+?)(<W[GH]\d+>\ ?)+)" "$1$2$3<wt>$4"
Creio que assim funcione para até três títulos na mesma linha.
-
- Posts: 732
- Joined: Wed Sep 23, 2009 5:13 pm
- Location: Brasília, Brazil
Re: Ajuda com Verse.Rule
Seria melhor usar o * em vez de repetir a expressão. Teste aí:
Code: Select all
verse.rule="(<TS\d?>.+?<Ts>)*((?:^|.+?)(<W[GH]\d+>\ ?)+)" "$1<wt>$2"
Rúbio R. C. Terra
Brasília/DF - Brasil
Brasília/DF - Brasil
Re: Ajuda com Verse.Rule
Rúbio
I think that there is a problem. Shouldn't it be without the ?
verse.rule="(<TS\d?>.+?<Ts>)*((?:^|.+?)(<W[GH]\d+>\ ?)+)" "$1<wt>$2"
I think that there is a problem. Shouldn't it be without the ?
verse.rule="(<TS\d?>.+?<Ts>)*((?:^|.+?)(<W[GH]\d+>\ ?)+)" "$1<wt>$2"
Jon
theWord 6 Bible Software
OS for testing; Windows 10
Beta Download ------Beta Setup Guide------On-line Manual------Tech doc's and Utilities------Copyright Factsheet
theWord 6 Bible Software
OS for testing; Windows 10
Beta Download ------Beta Setup Guide------On-line Manual------Tech doc's and Utilities------Copyright Factsheet
Re: Ajuda com Verse.Rule
Desta maneira "perde" o primeiro título quando existem dois no mesmo versículo (não testei com 3 títulos)RubioTerra wrote:Seria melhor usar o * em vez de repetir a expressão. Teste aí:Code: Select all
verse.rule="(<TS\d?>.+?<Ts>)*((?:^|.+?)(<W[GH]\d+>\ ?)+)" "$1<wt>$2"
De fato, sem ? funciona melhor.JG wrote:Rúbio
I think that there is a problem. Shouldn't it be without the ?
verse.rule="(<TS\d?>.+?<Ts>)*((?:^|.+?)(<W[GH]\d+>\ ?)+)" "$1<wt>$2"
verse.rule="(<TS\d?>.+<Ts>)*((?:^|.+?)(<W[GH]\d+>\ ?)+)" "$1<wt>$2"