Jump to content
Fórum Script Brasil
  • 0

Ajuda com a função update + replace com textos em html


Question

Boa tarde senhores! Estou com um problemão e gostaria da ajuda de vocês.

Preciso substituir isso: 

<h4 style="background-color: #bd1717; border: 2px solid #bd1717;  border-radius: 15px; display: inline-block; padding: 15px 30px; margin:20px;"><i class="icon-mobile"></i><span><a href="tel:+351939708658"> 939 708 658</a></span></h4><h4 style="background-color: #bd1717; border: 2px solid #bd1717;  border-radius: 15px; display: inline-block; padding: 15px 30px; margin:20px;"><i class="icon-call"></i></i><span><a href="tel:+351211560539"> 211 560 539</a></span></h4>

Por isso:  

<p style="background-color: #bd1717; border: 2px solid #bd1717;  border-radius: 15px; display: inline-block; padding: 15px 30px; margin:20px;"><span><a href="tel:+351939708658"><font color="#ffffff" face="Arial,Tahoma,sans-serif" size="5px"><b><i><i class="icon-mobile"></i> 939 708 658</i></b> </font></a></span></p>
<p style="background-color: #002354; border: 2px solid #002354;  border-radius: 15px; display: inline-block; padding: 15px 30px; margin:20px;"><span><a href="tel:+351211560536"><font color="#ffffff" face="Arial,Tahoma,sans-serif" size="5px"><b><i><i class="icon-mobile"></i> 211 560 536</i></b> </font></a></span></p>
<p style="background-color: #00aa11; border: 2px solid #00aa11;  border-radius: 15px; display: inline-block; padding: 15px 30px; margin:20px;"><span><a href="https://api.whatsapp.com/send?phone=351939708658&text=Ol%C3%A1,%20quero%20fazer%20um%20or%C3%A7amento! #00aa11"><font color="#ffffff" face="Arial,Tahoma,sans-serif" size="5px"><b><i><i class="icon-mobile"></i> 939 708 658</i></b> </font></a></span></p>

E não consigo pois não sei como escapar corretamente os caracteres especiais que existe no código, tentei várias formas e sem sucesso. Se alguém puder me ajudar ficarei muito grato.

Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 1

Boa noite.

Se pretende mudar html o javascript consegue alterar.

<body>
	<h4 style="background-color: #bd1717; border: 2px solid #bd1717;  border-radius: 15px; display: inline-block; padding: 15px 30px; margin:20px;"><i class="icon-mobile"></i><span><a href="tel:+351939708658"> 939 708 658</a></span></h4><h4 style="background-color: #bd1717; border: 2px solid #bd1717;  border-radius: 15px; display: inline-block; padding: 15px 30px; margin:20px;"><i class="icon-call"></i></i><span><a href="tel:+351211560539"> 211 560 539</a></span></h4>

	<script>
		var t = document.querySelector("body").innerHTML;
		var v = t.replace(/<h4/gi, '<p').replace(/<\/h4>/gi, '<\/p>');
		document.querySelector("body").innerHTML = v;
	</script>
</body>

Ele vai pegar uma área e fazer alteração dos elementos, como não sei como é sua estrutura eu coloquei o body para ver os elementos internos e fazer alteração

Link to post
Share on other sites
  • 0
Em 09/04/2021 em 21:06, Alyson Ronnan Martins disse:

Boa noite.

Se pretende mudar html o javascript consegue alterar.


<body>
	<h4 style="background-color: #bd1717; border: 2px solid #bd1717;  border-radius: 15px; display: inline-block; padding: 15px 30px; margin:20px;"><i class="icon-mobile"></i><span><a href="tel:+351939708658"> 939 708 658</a></span></h4><h4 style="background-color: #bd1717; border: 2px solid #bd1717;  border-radius: 15px; display: inline-block; padding: 15px 30px; margin:20px;"><i class="icon-call"></i></i><span><a href="tel:+351211560539"> 211 560 539</a></span></h4>

	<script>
		var t = document.querySelector("body").innerHTML;
		var v = t.replace(/<h4/gi, '<p').replace(/<\/h4>/gi, '<\/p>');
		document.querySelector("body").innerHTML = v;
	</script>
</body>

Ele vai pegar uma área e fazer alteração dos elementos, como não sei como é sua estrutura eu coloquei o body para ver os elementos internos e fazer alteração

Opa Alyson, desculpa a demora, e obrigado desde já pela força que tá me dando. Mas nesse caso ai o replace só substituiria a tag "h4" pela tag "p", não é isso? Mas eu preciso literalmente substituir aquela primeira string(completa) por a segunda string(completa).

Preciso substituir completamente esse bloco de códigos:

<h4 style="background-color: #bd1717; border: 2px solid #bd1717; border-radius: 15px; display: inline-block; padding: 15px 30px; margin:20px;"><i class="icon-mobile"></i><span><a href="tel:+351939708658"> 939 708 658</a></span></h4><h4 style="background-color: #bd1717; border: 2px solid #bd1717; border-radius: 15px; display: inline-block; padding: 15px 30px; margin:20px;"><i class="icon-call"></i></i><span><a href="tel:+351211560539"> 211 560 539</a></span></h4>

 

Por esse bloco de códigos aqui, que são 3 botões:

<p style="background-color: #bd1717; border: 2px solid #bd1717; border-radius: 15px; display: inline-block; padding: 15px 30px; margin:20px;"><span><a href="tel:+351939708658"><font color="#ffffff" face="Arial,Tahoma,sans-serif" size="5px"><b><i><i class="icon-mobile"></i> 939 708 658</i></b> </font></a></span></p> <p style="background-color: #002354; border: 2px solid #002354; border-radius: 15px; display: inline-block; padding: 15px 30px; margin:20px;"><span><a href="tel:+351211560536"><font color="#ffffff" face="Arial,Tahoma,sans-serif" size="5px"><b><i><i class="icon-mobile"></i> 211 560 536</i></b> </font></a></span></p> <p style="background-color: #00aa11; border: 2px solid #00aa11; border-radius: 15px; display: inline-block; padding: 15px 30px; margin:20px;"><span><a href="https://api.whatsapp.com/send?phone=351939708658&text=Ol%C3%A1,%20quero%20fazer%20um%20or%C3%A7amento! #00aa11"><font color="#ffffff" face="Arial,Tahoma,sans-serif" size="5px"><b><i><i class="icon-mobile"></i> 939 708 658</i></b> </font></a></span></p>

Edited by Eduardo Amorim
Link to post
Share on other sites
  • 0
1 hora atrás, Alyson Ronnan Martins disse:

Boa tarde.

Esse HTML É de seu projeto? Ss sim seria necessário colocar algo que identifique a área que vai ser modificada exemplo: uma div que tem dentro o texto que pode ser alterado sendo que essa div tenha um ID.

Se não vou procurar algum que consiga identificar.

Deixa eu detalhar melhor, erro meu não ter feito isso antes. Estou com um site de um cliente, onde todas as páginas tem dois botões para contato, essas páginas foram criadas com o muffin page builder, e eu posso ir na página e editar esse html 1 a 1, mas seria muito trabalhoso e ineficaz, pois o site tem quase 700 páginas, esse html fica guardado no banco de dados, ai queria automatizar com um replace, pois vi que é possivel e viável dessa forma, só que meu problema persiste por conta dos htmls que o phpmyadmin não consegue interpertar como string, ai teria que escapar de alguma forma, ou fazer algo via JS mesmo pra manipular a DOM no onload, só não sei como fazer isso ainda...

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      149167
    • Total Posts
      645428
×
×
  • Create New...